Konfigurace Linuxu
Uživatelské prostředí
Uživatel si může implicitní nastavení pro shell bash
změnit v souboru ~/.profile
.
Tento soubor se automaticky spustí při spuštění bashe po zalogování.
Při každém spuštění bashe se ještě spouští příkazy v souboru ~/.bashrc
(nejen po zalogování).
Pokud uzivatel provede zmeny v souboru ~/.profile
a chce, aby platili uz ve
stavajici instalaci, musi znovu tento soubor spustit:
Dalsi moznost jak menit promenne prostredi je nastavit je primo z prikazove radky. Napr.:
povidej borce $
Podrobnější pohled na inicializaci bashe
Prvni logovaci skript je predevsim globalni soubor /etc/profile
, ktery je
pripraven systemovym administratorem. Ten obsahuje vetsinu potrebnych nastaveni.
Dale se vypise obsah souboru /etc/motd
(message-of-the-day), ktery modifikuje
root. Tento soubor neni bran jako skript, tj. prikazy se vypisi jen jako text.
Jako posledni se provede obsah prave jednoho ze souboru ~/.bash_profile
,
~/.bash_login
a ~/.profile
, a to prvniho v uvedenem poradi, ktery existuje.
(Plati pro Bourne shell, C-shell inicializuje ~/.login
po prihlaseni a ~/.cshrc
pri kazdem spusteni csh)
/etc/profile
muze byt odkaz na soubor /etc/profile.local
, ktery
nemusi existovat, ale je-li vytvoren, spousti se take. Pak je vyhodnejsi soubor
/etc/profile
nemodifikovat, ale vytvorit soubor /etc/profile.local
.
Update systomu muze /etc/profile premazat, ale /etc/profile.local ne.
Pred ukoncenim posledni instance bashe (pred odhlasenim) se provede
obsah souboru ~/.bash_logout
. Do nej muzeme umistit nektere "uklidove" ukony,
jako je mazani nepotrebnych souboru apod.
U instance bashe, ktery se nespousti po prihlaseni (ale uz jineho beziciho bashe),
se nacita pouze soubor ~/.bashrc
. (Tj. profile se spousti jen po prihlaseni,
zatimco ~/.bashrc
pokazde, co je spustena nova instance bashe.
Příkaz export
Nastavene prostredi vyuzivaji i procesy, ktere jsou stavajici instalaci spusteny.
Pokud si uzivatel zmeni nekterou promennou prostredi a chce aby tato zmena byla
zverejnena i procesum, ktere bude spoustet, musi pouzit prikaz export
.
Uzivatel chce napriklad nastavit promennou reprezentujici typ pouziteho terminalu na terminal vt52:
$ export TERM
Nebo rovnou:
potom i nasledne spoustene procesy budou mit promennou prostredi TERM nastavenou na vt52.
Standardní inicializační soubory
Po startu systému se spustí proces init
, který spouští další procesy
dle konfiguračních souborů. Jaké soubory spustí záleží na levelu
běhu,
se kterým se init spouští (většinou level 5).
Pokud se spouští level 5, spouští se postupně skripty z adresáře /etc/init.d/rc5.d/
(pětka v názvu adresáře není náhodná …).
Příkaz init
může administrátor spustit za běhu a přejít tak do jiného
levelu
SYNOPSIS
init level
Level | Význam |
---|---|
0 | Vypne počítač |
6 | Reboot počítače |
2, 3, 4, 5 | Nastartuje runlevelX. Běžně se používá jen 5 |
1, s, S | Spustí záchranný režim |
/sbin/init /etc/init.d/ # adresář se skripty, které spouští programy při startu /sbin/init.d/halt.local /etc/init.d/halt.local # skript spouštěný při vypínání systému
Konfigurace myši v konzoli
K rozchození myši v konzoli se používá program gpm
,
který se konfiguruje pomocí programu gpmconfig
.
OPTIONS
- -t typ
- (-t ms3)
- -m zarizeni
- (-m /dev/ttyS0)
- -k
- ukonci jakykoliv bezici proces gpm
- -R typ
- (-R ms3)
Kopiruje akce mysi do souboru /dev/gpmdata pod zadanym protokolem. Tato volba je dulezita, kdyz je cinnost programu gpm v textovem modu v kolizi s pristupem systemu X k mysi. Pak X bude pristupovat k mysi prez zarizeni /dev/gpmdata (nikoliv /dev/ttyS0)
Pro starší verze myší:
$ gpm -m /dev/ttyS0 -t ms3 -Rms3
Pro novější verze s kompatibilitou s X Window systémem.
$ gpm -m /dev/psaux -t imps2 -R /dev/gpmdata
gpm
může být v konfliktu s myší v X Window systému.
Rozhodit myš v konzoli i v X Window systémů najednou se nemusí vždy povést.
Abyste mohli spouštět gpm
jako běžný uživatel, je nejjednodušší nastavit
mu set user bit:
Nastavení češtiny v konzoli (old)
K zobrazení současného nastavení použijte následující příkaz:
localectl status
V distribuci OpenSuSE jsem pro zprovoznění českého rozložení klávesnice musel zadat tyto příkazy (některé jako root):
export LANG=cs_CZ setfont lat2-16 loadkeys cz-qwerty
loadkeys cz
. Ve starší verzi
distribuce se zadávalo loadkeys qwerty/cz
. Kompletní výpis fontů
k dispozici zobrazí příkaz localectl list-keymaps
.
V /etc/sysconfig/keyboard
se dá nastavit KEYTABLE="qwerty/cz"
.
LANG se da nastavit v /etc/sysconfig/language
jako RC_LC_ALL="cs_CZ.UTF-8"
.
Font se zdá být nastaven v /etc/sysconf/console
,
přesto musím po restartování znovu spustit setfont lat2-16
, aby mi fungovalo správně zobrazení češtiny.
Naproti tomu v Ubuntu se mi přepínání mezi klávesnicemi rozchodit nepodařilo /: Funguje tam jen klávesnice Alt Gr s pomocí níž lze psát znaky z anglické klávesnice (defaultně píše česky, protože jsem si při instalaci vybral češtinu).
New: V Debianu jsem musel doinstalovat balíček console-data
a
v souboru /etc/default/console-setup
nastavit FONT=Lat2-Fixed16
.
(Výběr fontů viz /usr/share/consolefonts/
). Možná to tak nějak půjde i v Ubuntu.
Program setfont
potřebuje administrátorská práva.
Aby jej mohl spouštět i obyčejný uživatel, je nejjednodušší nastavit set user bit:
Soubor ~/.profile
: (nastaví správný český font):
then
export LANG=cs_CZ.UTF-8
setfont lat2-16
# /usr/sbin/gpm -m /dev/psaux -t imps2 -R /dev/gpmdata
fi
V souboru ~/.bashrc
je možné nastavit shortcut
pro přepínání českého a anglického rozložení (pomocí kláves F11 a F12):
then
bind -x '"\e[24~":"/usr/bin/loadkeys -q us"'
bind -x '"\e[23~":"/usr/bin/loadkeys -q cz-qwerty"'
fi
V Debianu jsem naproti tomu musel spouštět loadkeys qwerty/cz-lat2
.
Česká verze klávesnice se umí přepínat do anglické pomocí Pause klávesnice.
Pokud tuto klávesnici náhodou nemáte, můžete si nastavit na přepínání jinou
v souboru /usr/share/kbd/keymaps/i386/qwerty/cz.map.gz
(resp. /usr/share/keymaps/i386/qwerty/cz-lat2.kmap.gz
v Debianu).
Nejdřív zjistěte číslo klávesnice, kterou chcete používat pro přepínání,
programem showkey
. Tento program
vypisuje čísla klávesnice. Pokud 10 sekund nic nezmáčknete, ukončí se.
Když už víte číslo klávesnice, kterou chcete používat na přepínání, zkopírujte v
souboru /usr/share/kbd/keymaps/i386/qwerty/cz.map.gz
odstavec, který
nastavuje klávesu Pause a změntě číslo keycode na to vaše.
Toto zkopírujte a nahraďte číslo 119 (pause) vaším číslem (já si nastavil 88
pro klávesu F12).
V Debianu vypadá řádek jinak, ale začíná také keycode 119 =
.
# - funguje jako ShiftR_Lock
#
keycode 119 = ShiftR_Lock ShiftR_Lock VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol \
ShiftR_Lock ShiftR_Lock VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
VoidSymbol
Další info viz čeština v linuxu.
Nastavení češtiny v konzoli (new)
K zobrazení současného nastavení použijte následující příkaz:
localectl status
OpenSuSE
Nainstalujte si balíček console-setup.
Soubor /etc/default/console-setup
nemusíte měnit.
V souboru /etc/default/keyboard
nastavte toto:
XKBVARIANT=qwerty # pokud chcete qwertz, nechte prazdne
XKBOPTIONS=grp:alt_shift_toggle
V souboru /etc/vconsole.conf
nastavte KEYMAP
na cz-qwerty, nebo cz (pro qwertz variantu).
A na konec spusťte následující příkazy:
sudo /usr/bin/loadkeys -q cz
sudo /usr/bin/loadkeys -q cz-qwerty #pouze pro qwerty variantu
sudo /usr/bin/setupcon
setupcon
je potřeba zavolat až po příkazech loadkeys
.
Abyste nemuseli zadávat příkazy při každém restartování systému,
můžete si je zapsat do souboru ~/.profile
:
then
export LANG=cs_CZ.UTF-8
sudo /usr/bin/loadkeys -q cz
sudo /usr/bin/loadkeys -q cz-qwerty
sudo /usr/bin/setupcon
# /usr/sbin/gpm -m /dev/psaux -t imps2 -R /dev/gpmdata
fi
Programy setupcon
a loadkeys
potřebují administrátorská práva.
Abyste nemuseli pokaždé zadávat heslo, zeditujte si /etc/sudoers (příkazem visudo
)
a přidejte následující řádky:
## User privilege specification
##
# root ALL=(ALL) ALL # pokud tato radka existuje (nezakomentovana), musi byt prvni
petr ALL = (root) NOPASSWD: /usr/bin/setupcon
petr ALL = (root) NOPASSWD: /usr/bin/loadkeys
Místo petr použijte své přihlašovací jméno, nebo ALL.
Debian
Nový debian jsem zatím nezkoušel, snad by měl fungovat postup posaný v Nastavení češtiny v konzoli
(old), nebo zkuste nastavení pomocí setupcon
, jak je popsáno pro OpenSuSE výše.
Ubuntu
Podobně jako v OpenSuSE, nastavte konozli pomocí setupcon. Jenom zavolejte loadkeys s cz-us-qwerty (namísto cz a cz-qwerty).
sudo /usr/bin/loadkeys -q cz-us-qwerty
sudo /usr/bin/setupcon
Další info viz čeština v linuxu.
Screensaver v konzoli
Screensaver v klasické konzoli nastavit nelze. Na pomoc proto přichází program
screen
. Ten je sice primárně určen na něco jiného,
ale funguje jako bash a umožňuje nastavit screensaver.
Screensaver pro program screen
se nastaví v souboru ~/.screenrc
takto:
idle 60 blanker
Kde místo cmatrix -ab -u2
můžete napsat jakýkoliv oblíbený konzolový screensaver.
Příkaz idle
určuje, po kolika vteřinách se spustí blanker
.