Přihlašování se v konzoli jako jiný uživatel

Přihlašovat se ne pomocí su ale pomocí su -, pak půjdou spouštět i grafické aplikace.

Nahrazení podtržítek mezerami v názvech souborů

for i in *; do mv "$i" "${i//_/ }"; done

Změna vlastníka u symlinku

chown -h dave:valley JmenoAdresareBezLomitkaNaKonci

Podpora tiskárny Samsung SCX-4×24 v Linuxu

Bez problémů funguje jak tisk, tak scanování, a to i přes LAN. Postup zprovoznění:

  • Nainstalovat Samsung Unified Linux Driver (je dostupný v Gentoo Portage v overlay Sabayon).
  • Nastavit tiskárnu v CUPS.
  • Pro scanování nainstalovat XSane (verze sane-backends musí být alespoň 1.0.22-r1), na konec souboru /etc/sane.d/xerox_mfp.conf přidat
    # Samsung SCX-4x24 is not officialy supported, add it anyway as it works
    # for usb and tcp mode as well
    usb 0x04e8 0x342c
    tcp 10.0.0.251 9400

Instalace systému modulů

Do adresáře /opt/modules/usr/bin zkopírovat soubory module_add, module_del a module_lfs pro práci s moduly. Do /opt/modules/graft-2.4/usr nainstalovat graft (volby v konfiguraci “PACKAGEDIR = /opt/modules” a “TARGETDIR = /“) a provést samoinstalaci modulů:
/opt/modules/usr/bin/module_add modules
module_add graft-2.4

Klávesové zkratky Midnight Commanderu

Zkratka Význam
Alt-i, Alt-o Přepne do adresáře aktuálního panelu i na druhém panelu
Alt-y Přepne do předchozího adresáře v historii
Alt-u Přepne do následujícího adresáře v historii
Alt-h Zobrazí historii příkazů
Ctrl-Enter, Alt-Enter Vloží aktuální soubor do příkazové řádky
Ctrl-Shift-Enter Vloží aktuální soubor s celou cestou do příkazové řádky
Shift-F6 Přejmenování souborů
Alt-p Vloží do příkazové řádky předchozí zadaný příkaz
Alt-n Vloží do příkazové řádky následující zadaný příkaz
Alt-Shift-? Vyhledávání
Ctrl-\ Directory hotlist
Alt-+ Přepínání režimů zobrazení panelu
Ctrl-mezera Spočítá velikost obsahu adresáře
Num+ Označení souborů se zadanou maskou, %t se pak dá použít v příkazové řádce
Ctrl-x t Vloží jména vybraných souborů do příkazové řádky
F2 Menu pro komprimování souborů a adresářů
Alt-l V interním editoru MC mcedit zobrazí volbu Goto line.
Alt-Shift-h Zobrazí historii adresářů s možností výběru

V MC je možné vstupovat i do síťových adresářů, například takto:

  • cd ftp://ftp.server.org
  • cd ftp://uzivatel:heslo@ftp.server.org
  • cd /#sh:uzivatel@server

Sledování vytížení systému

htop – výpis procesů podle zatížení procesoru
iotop – výpis procesů podle datových vstupů/výstupů
nethogs – výpis procesů podle síťových vstupů/výstupů
bmon – monitorování síťového provozu na jednotlivých síťových rozhraních
iftop – monitorování síťového provozu na jednotlivých síťových rozhraních

Gentoo: Přidání balíčku do world

emerge --noreplace <package>

Spuštění dvou xorg sezení najednou

Jak při startu počítače automaticky spouštět dvě xorg sezení tak, aby v každém z nich byl přihlášený jiný uživatel? První sezení nechat v původním stavu, v login manageru nastavit autologin. Pro druhé sezení je potřeba:

  • nainstalovat mingetty
  • upravit /etc/inittab:
    #c6:2345:respawn:/sbin/agetty 38400 tty6 linux
    c6:2345:respawn:/sbin/mingetty --autologin=eli tty6
  • upravit .bash_profile uživatele, kterého chceme automaticky přihlašovat:
    if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty6 ]; then
    sleep 5 && /usr/bin/startxfce4 -- :1
    fi

Přepínání mezi oběmi sezeními se pak provádí klasickými klávesovými zkratkami Ctrl+Alt+F7 a Ctrl+Alt+F8.

Gentoo: povolení restartování systému v polkit

Po aktualizaci systému nebylo možné restartovat nebo vypnout počítač – v XFCE menu položky pro vypnutí a restart sice nebyly zašedlé, ale po kliknutí na ně se provedl pouze logout. Řešení: úprava souboru /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy. Je potřeba změnit všechny výskyty

<allow_active>auth_admin_keep</allow_active>

na

<allow_active>yes</allow_active>.

A po další aktualizaci je potřeba ke každému výskytu

<allow_active>yes</allow_active>

přidat ještě

<allow_any>yes</allow_any>.

Čtečka karet v notebooku Fujitsu Lifebook E751

Standardní jádro neobsahuje potřebný ovladač, ale v Gentoo je možné jej nainstalovat z balíčku sys-block/rts_pstor.

DOSBox a podpora 3dfx her

Standardní DOSBox nepodporuje 3dfx hry (např. TombRaider). Je potřeba udělat vlastní build a opatchovat standardní zdrojové kódy z SVN. Patch pro některé SVN verze DOSBoxu lze stáhnout odtud. Předtím je nutné nainstalovat OpenGLide. Vlastní build DOSBoxu lze udělat např. takto:

sh autogen.sh
cp dosbox_glide.diff dosbox-code-0-3821/dosbox/trunk
patch -p1 < dosbox_glide.diff
CPPFLAGS="-I/usr/include/openglide" ./configure --prefix=/opt/modules/dosbox-glide-r3821/usr
make
make install

Přepínání virtuálních konzolí

Virtuální konzole se standardně přepínají klávesovými kombinacemi Ctrl+Alt+Fx, kde x je číslo konzole. Když je potřeba přepnout konzoli vzdáleně, je možné využít následující příkazy:

  • fgconsole – vrátí číslo aktuální konzole
  • chvt x – přepne na zadanou konzoli

Tyto příkazy je možné použít i pro přepnutí mezi dvěma paralelně běžícími xorg sezeními. Pro jejich spouštění je potřeba mít administrátorské oprávnění.

Archivace VirtualBox disků ve formátu VDI

Při archivaci VDI disků standardními nástroji (např. 7z, gzip) je velikost výsledného archivu většinou zbytečně veliká, protože se archivují nejen aktuálně používaná data, ale i veškerý rezervovaný (a momentálně nepoužívaný) prostor vyplněný náhodnými daty. Pokud se ale nepoužívaný prostor před archivací vyplní nulami, velikost výsledného archivu pak může být podstatně menší:

  • dd if=/dev/zero of=/var/tmp/bigemptyfile bs=4096k ; rm /var/tmp/bigemptyfile

BASH tipy

  • printf – formátování vystupního řetězce jako v C
  • Použití výstupu příkazů: echo "$(df -h)"
  • Lze psát if (( i > j )); then ... místo if [ "$i" -gt "$j" ]; then ...
  • Aritmetika: echo $(( 1 + 2 ))
  • seq – generuje seznam čísel, např. seq 10 30, nebo seq 1 2 10 (generuje čísla od 1 s krokem 2 az do 10)
  • for i in $(seq 10); do ...
  • for ((i=0; i<100; i++); do ...
  • Znepřehlednění kódu: samotná dvojtečka dělá to samé co příkaz true
  • Kartézský součin:
    • echo {a,b,c}{1,2}
    • i={a,b,c}
    • j={1,2}
    • eval echo "$i$j"
  • $(seq 10) a `seq 10` dělá to samé, ale kulaté závorky mohou být vnořené do sebe
  • Složené výrazy v testu: dvojitá závorka umožňuje použití logických operandů:
    • if [[ $a -lt $b && some_command ]];
    • if [[ -z "" && 0 -lt 2 ]];
    • if (( 1 == 1 )) && (( 0 != 5 ));
  • V testu dávat proměnné do uvozovek – nenastane syntax error při prázdné hodnotě proměnné
  • Dialog pro výběr možností: select i in a b c; do echo $i; done
  • $(( )) provádí to samé co $[ ]
  • Příkaz nl očísluje řádky souboru
  • Parametry
    • ${parameter#word} – odstranění nejkratšího prefixu
    • ${parameter##word} – odstranění nejdelšího prefixu
    • ${parameter%word} – odstranění nejkratšího suffixu
    • ${parameter%%word} – odstranění nejdelšího suffixu
    • ${parameter/pattern/string} – jedna substituce
    • ${parameter//pattern/string} – několikanásobná substituce
    • ${#parameter} – délka obsahu proměnné