Hasznos parancssori eszkozok
Contents
- 1 Midnight commander
- 2 Screenshot aktív menüről
- 3 Flash plugin
- 4 Zip/Unzip
- 5 Hálózat
- 6 Média manipuláció
- 7 File/mappa manipuláció/keresés
- 8 Magyar helyesírás ellenőrző
- 9 Wine-2.0
- 10 OCR
- 11 Email szerver tesztelése
- 12 RPM műveletek
- 13 Debian csomagok átforgatása
- 14 WhatsApp desktop
- 15 Gnome ikon probléma
- 16 CPU frekvencia beállítása
- 17 Remarkable markdown editor
- 18 Billentyűzet parancsok (keyboard)
- 19 Microsoft MS teams
Midnight commander
Select all
Crtl + Shfit + (hármas gomb, amin a '+' van). Ekkor megjelenik egy pattern alapján választó. Ide ha '*'-ot írunk be, akkor kijelöli az összes fájlt.
Screenshot aktív menüről
Az a baj, hogy ha aktív egy felugró menü, akkor a PrtScrn gomb nem működik. Ekkor késleltetéssel parancssorból meg tudjuk hívni a gnome-screenshot programot, amia PtrScrn gomb megnyomásakor is lefut. Meg lehet neki adni egy késleltetést, ami alatt meg tudjuk nyitni a kívánt menü elemet:
$ gnome-screenshot -d 5
A végeredmény a felhasználó Images mappájába fog kerülni.
Flash plugin
Az adobe-nak van egy saját repozitorija Fedora-hoz:
# dnf install http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm # dnf install flash-plugin
Indítsuk újra a firefox-ot. Telepítés után ne töröljük le a repót, mert állítólag rendszeresen jönnek hozzá frissítések a Windows-os verzióval párhuzamosan.
Tesztoldal: http://www.adobe.com/software/flash/about/
Zip/Unzip
A WinZip 9 -el (és újabb) készült ZIP eket a linuxos unzip nem tudja kitömöríteni, pláne ha azok jelszóval vannak védve. Ehhez a 7z-t kell feltelepíteni
# dnf install p7zip p7zip-plugins
Használata:
$ 7z file.zip
Hálózat
Port
Ki hallgatózik egy porton
# netstat -tulpn | grep :9998 tcp 0 0 0.0.0.0:9998 0.0.0.0:* LISTEN 13156/java
Elérhető a port
# nc -vz host.example.hu 8042
Média manipuláció
Kép átméretezés
$ mogrify -quality 70% *.jpg
$ mogrify -resize 80% *.JPG
Video forgatás és méretezés
$ ffmpeg -i in.mp4 -c copy -metadata:s:v:0 rotate=180 out.mp4
$ find . -name "*.mp4" -exec sh -c 'ffmpeg -i {} -filter:v scale=800:-1 -c:a copy {}_1.mp4' \;
Video konvertálás
$ mencoder Rust And Bone.2012.BRRip.x264-VLiS.mp4 -oac pcm -ovc copy -o Rust And Bone.2012.BRRip.x264-VLiS.avi
File/mappa manipuláció/keresés
Fájl/mappa dátumok
Részletes fájl létrehozási dátum:
ls -l --time-style=long-iso <filenév>
Mappa méret
# du -sh *
Interaktív fájl browser, ami kiírja a mappa méretét. Rendezni és törölni is lehet vele. Ráadásul alapból méret szerint rendezi. Zseniális!
# ncdu
Fájlok csoportos átnevezése
Az összes .bak fájlt átnevezi txt-re
$ rename .bak .txt *.bak
CD ROM mount
# mount /dev/sr0 /mnt
Dock konvertálása PDF-re
# libreoffice --headless --convert-to pdf *.doc
PDF átméretezés
# convert -density 120x120 -quality 60 -compress jpeg TSZ.pdf output.pdf
Keresés PDF-ben
A PDF-ek belsejében a pdftotext programmal keresünk. Ez a " poppler-utils" csomagban van.
$ find . -name '*.pdf' -exec echo {} \; -exec pdftotext {} - \; | grep "pattern\|pdf"
Azért kell a végére a pattern után a |pdf, hogy a fájlok nevét is kiírja a találat elé, hogy tudjuk, hogy hol találta meg a patternt. pl:
./CPFM-F2RCash-StockManagement-290816-1600-104_questionsByAdam.pdf ./F2RCash-Interfacedescriptions v06_by_adam.pdf 7. IOL Interface 7. IOL Interface forwarded immediately to the Customer (IOL Channel). The file to be sent is in pdf format: : GCAE_DIFFPROT_<GRID-ID>_<parcel-ID>_<date-time>.pdf : copy of the pdf in the AcceptProtocol sent by the CIT : <Name of the pdf file> <GRID-ID of customer involved> separated by a space (multiple entries are ./F2RCash-GenericServices v0.5.pdf
Láthatjuk, hogy minden PDF fájlt kiír, amit megvizsgált, de és ott ahol a tartalomban megtalálta a pattern-t ott kiírta azt a sort, amiben volt egyezés.
Összes fájl rekurzív másolása egy közös mappába
Ha egy adott típusú fájlból az összeset össze szeretnénk rekurzívan gyűjteni, akkor:
find . -name \*.jar -exec cp {} /home/adam/Projects/ING/Programs/findbugs-3.0.1/extra_alecash_libs/ \;
Base64
Az echo parancs rárak a string végére egy fájl vége karaktert. Ha jelszót kell base64-esre kódolni, akkor fontos, hogy ezt levágjuk róla mielőtt meghívjuk a base64-es parancsot, különben ha a jelszót kezelő rendszerben nincs trim, nem fogja elfogadni.
echo "this is the text" | head --bytes=-1 | base64 > valami.txt
Alapértelmezetten 76 karakterenként új sort kezd. Ha egy sorba akarjuk kiírni a base64-et, akkor a -w (wrap) -el meg kell mondani milyen hosszú legyen a sor. 0 esetén nem töri meg a sort:
echo "this is the text" | base64 -w 0 > valami.txt
Magyar helyesírás ellenőrző
A helyesírást az aspell programmal fogjuk ellenőrizni. Telepítsük fel az aspell-t:
# dnf install aspell
Majd fel kell rakni az aspell magyar szótárát. Ez nincs benne a repóba, innen letölthető: ftp://ftp.gnu.org/gnu/aspell/dict/0index.html vagy innen: http://mirrors.ibiblio.org/gnu/ftp/gnu/aspell/dict/hu/
Ezt kell letölteni: aspell6-hu-0.99.4.2-0
Ezt tömörítsük ki és másoljuk a programok közé, majd:
# ./configure Finding Dictionary file location ... /usr/lib64/aspell-0.60 Finding Data file location ... /usr/lib64/aspell-0.60
# make # make install
Ezután még szükség lesz a enchant-aspell telepítésére is, ami inegrálja az aspell szótáráakat a enchant szótárakba, amit az Evolution is használ:
# dnf install enchant-aspell
Indítsuk újra az Evolution-t, majd a Preferences -> Conposer preferences -> Spell checker fülön pipáljuk be, hogy a magyart is ellenőrizze, így egyszerre fogja az angolt és a magyart kezelni.
Listázása az elérhető szótáraknak:
# aspell dump dicts hu
Fedora 31:
# dnf install hunspell-hu
Wine-2.0
Fedora 22 és újabb esetében a dnf -el fel lehet telepíteni. Az attól régebbi rendszeren sajnos kézzel kell, ami elég gyötrelmes. Az alábbi csomagokat az alábbi sorrendben le kell tölteni, és lefordítani (./configure, make, make isntall). A make install-t mindig root-ként. Ahol trükkös a fordítás, ott külön kiemeltem. Ahol nem, ott csak ezt a hármat ki kell sorban adni.
Függőségek telepítése
- libxml2-2.9.4
- libxslt-1.1.28 (függőség: libxml2)
- nettle-3.3
- libtasn1-4.9
- gnutls-3.5.8 (függőség: libtasn1, nettle)
- libtool-2.4
- json-c-master
- pulseaudio-9.0 (függőség: libtool, json-c-master)
nettle
root-ként:
# ./configure --prefix=/usr --disable-static && make # make install && chmod -v 755 /usr/lib/lib{hogweed,nettle}.so && install -v -m755 -d /usr/share/doc/nettle-3.3 && install -v -m644 nettle.html /usr/share/doc/nettle-3.3
gnutls
root-ként:
# ./configure --prefix=/usr --with-default-trust-store-file=/etc/ssl/ca-bundle.crt --with-included-libtasn1 --with-included-unistring --without-p11-kit
json-c-master
# sh autoreconf --force --install # ./configure # make ---->>>>>> ez itt elszáll, és enélkül nem lesz hang :( # make install
pulseaudio-9.0 (hang)
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-bluez4 --disable-rpath --without-caps # make # make install
WIN telepítése
64 bites rendszeren:
# ./configure --enable-win64
# make # make install
OCR
# dnf install gimagereader*
Email szerver tesztelése
mailx -v -S smtp=192.168.10.1 -r berki.adam@alerant.hu -s test-v farkas.zsuzsanna@alerant.hu < body.txt
RPM műveletek
Rpm csomag dependenciáinak átírása
Főként ha alien-el deb csomagot forgatunk át RPM-be, előállhat, hogy az abban lévő file művelet ütközni fognak az operációs rendszer mappáival, mert már léteznek:
Error: Transaction check error: file / from install of kitematic-0.13.1-2.x86_64 conflicts with file from package filesystem-3.2-40.fc26.x86_64 file /usr/bin from install of kitematic-0.13.1-2.x86_64 conflicts with file from package filesystem-3.2-40.fc26.x86_64
Ehhez az rpmrebuild eszközzel át kell írni a fájl/mappa létrehozó szekciót az RPM-en belül. Elsőnek állítsuk be, hogy az editor az mcedit legyen, majd indítsuk el:
$ export EDITOR=mcedit $ rpmrebuild -pe kitematic-0.13.1-2.x86_64.rpm
In the '%files' section remove these lines:
%dir %attr(0755, root, root) "/" %dir %attr(0755, root, root) "/usr" %dir %attr(0755, root, root) "/usr/bin" %dir %attr(0755, root, root) "/usr/share"
Majd mentsük el a fájlt. Ekkor rá fog kérdezni, hogy folytatjuk e, mondjuk hogy igen. Ekkor elszöszöl egy darabig, amíg újra fordítja, majd a végeredményt beteszi ide: /home/adam/rpmbuild/RPMS/x86_64
Debian csomagok átforgatása
# alien -r boostnote-0.11.9-2.x86_64.deb
Töröljük ki a konfliktáló sorokat a %file szekcióból:
# export EDITOR=mcedit # rpmrebuild -pe boostnote-0.11.9-2.x86_64.rpm
Ez újra fogja csomagolni, és ide fogja rakni: /root/rpmbuild/RPMS/x86_64/
WhatsApp desktop
[Desktop Entry] Type=Application Name[en_US.UTF-8]=WhatsApp X-GNOME-FullName[en_US.UTF-8]=WhatsApp Comment[en_US.UTF-8]=WhatsApp desktop client Icon=/home/adam/Programs/whatsApp/whatsApp.png NoDisplay=false Exec=google-chrome --app=https://web.whatsapp.com/ --window-size=800,600 --user-data-dir=/home/adam/.config/chromium-whatsapp --class=chromium-whatsapp %U Path= Terminal=false X-GNOME-UsesNotifications=true Categories=Network; StartupWMClass=web.whatsapp.com
Gnome ikon probléma
Ha a Baloldali Dash-to-dock -ban ronda az ikonja a futó alkalmazásnak, akkor meg kell szerezni az alkalmazás osztályát
$ xprop WM_CLASS
Ekkor keresztre változik a pointer. Kattintsunk a futó alkalmazás ablakára, a whatsapp esetén valahol a belsejébe az ablaknak. Ekkor a xprog ki fogja írni az alkalmazás osztályait:
$ xprop WM_CLASS WM_CLASS(STRING) = "web.whatsapp.com", "chromium-whatsapp"
A .desktop fájl végére írjuk ezt:
... StartupWMClass=web.whatsapp.com
CPU frekvencia beállítása
CPU profil listázása:
# cpupower frequency-info analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: Cannot determine or is not supported. hardware limits: 400 MHz - 4.80 GHz available cpufreq governors: performance powersave current policy: frequency should be within 400 MHz and 1.90 GHz. The governor "powersave" may decide which speed to use within this range. current CPU frequency: Unable to call hardware current CPU frequency: 800 MHz (asserted by call to kernel) boost state support: Supported: yes Active: yes
- Jelenlegi fogyasztás: 800 Mhz
- Tartomány: 400 - 4800 Mhz
Elérhető profilok listázása:
A profil a min és a max frekvenciát határozza meg. Azt láthatjuk, hogy az elsődleges a performance, a másodlagos a powersave. A Perofmance engedi a maximumig felvinni a fogyasztást. Ez nem feltétlen praktikus, mert nagyon hamar lemeríti az akut.
# cpupower frequency-info --governors analyzing CPU 0: available cpufreq governors: performance powersave
Profil váltás: (ennek szerintem semmi hatása)
# cpupower frequency-set --governor powersave
Hogyan szabályozzuk:
Ehhez egy gnome plugin-t kell feltenni, amit a software installer-el is fel tudunk tenni: CPU Power Manager
Be lehet állítani, hogy az elérhető négy profil-ban milyen tartományban legyen a CPU. Ezen felül, hogy mi legyen a profil ha aksiról megy illetve ha töltőn van. A jobb felső sarokba megjelenik a pillanatnyi fogyasztás, ahol egy mozdulattal át is állíthatjuk.
Remarkable markdown editor
Add RPM Fusion repositories to your system Download latest rpmsphere-release rpm from https://github.com/rpmsphere/noarch/tree/master/r Install rpmsphere-release rpm: # rpm -Uvh rpmsphere-release*rpm Install remarkable rpm package: # dnf install remarkable dnf install gtksourceview3
Billentyűzet parancsok (keyboard)
Ha elromlik a kiosztás
$ setxkbmap hu
Nyelv váltás
Special + Space
Microsoft MS teams
Miért nem működik a képernyő megosztás:
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 73 (X_GetImage) Serial number of failed request: 7 Current serial number in output stream: 7
Azt írják, hogy lehet hogy az a baj, hogy Fedora11-ben nem X11-van hanem "wayland". És ez igaz, ez látszik is a lenti paranccsal. Az első megszerzi a session id-t a második megmondja a típusát:
$ loginctl SESSION UID USER SEAT TTY 2 1000 adam seat0 tty2 $ loginctl show-session 2 -p Type Type=wayland
Az X11 elavult és átveszi a világban a helyét a wayland, aminek van X11 emulált interfésze a backwords kompatibilitás miatt, de a Microsoft Teams nem tudja teljesen jól használni a wayland-ot, sajnos a Teams egy 100%-ban X11-re írt alkalmazás :(
Egy megoldás van: Vissza kell váltani X11-re, ah tényleg akarjuk használni a megosztást. Gondolom ezzel egy csomó Wayland funkciót elvesztünk, tehát mérlegelni kell.
https://www.faschingbauer.me/blog/2020/03/ms-teams-on-linux.html
Lényeg: In /etc/gdm/custom.conf, a .ini style configuration file, you see the [daemon] section,
Ehelyett:
[daemon] # Uncomment the line below to force the login screen to use Xorg #WaylandEnable=false #DefaultSession=gnome-xorg.desktop
Ez kell:
[daemon] WaylandEnable=false DefaultSession=gnome-xorg.desktop
Note
Elég volt, hogy a re
Ez a jó érték ha teams-t akarunk használni:
$ loginctl show-session 2 -p Type Type=x11