Instalacja dodatkowych pakietów i ustawienia ogólne
Po instalacji systemu prawie zawsze konieczne jest jego dostosowanie poprzez instalację potrzebnego oprogramowania oraz utworzenie lub modyfikację pewnych plików konfiguracyjnych. Jeżeli często instalujemy system z jakimiś zbiorami oprogramowania to instalację tego oprogramowania można w różny sposób automatyzować – np. własne meta pakiety z zależnościami, skrypty instalacyjne, etc. Zamieszczam przykład skryptu służącego do wyboru i instalacji pakietów z podzielonymi na kategorie tematyczne listami pakietów wartych w mojej opinii zainstalowania lub przynajmniej przetestowania.
Poniżej zamieszczam informacje związane z konfiguracją wybranych programów. Polecam także inne wpisy związane z konfiguracją systemu:
Bash
Bash jest najpopularniejszą powłoką systemową w systemach linuxowych. W zależności od sposobu uruchamiana (powłoka logowania, czy zwykła) bash na starcie uruchamia odpowiednie pliki konfiguracyjne, które są skryptami bashowymi:
~/.bash_profile
dla powłoki logowania~/.bashrc
dla zwykłych powłok interaktywnych
Jeżeli chcemy aby na powłokach logowania także wykonywany był ~/.bashrc
należy zainkludować go w pliku ~/.bash_profile
poprzez np.:
[ -f ~/.bashrc ] && . ~/.bashrc
Zamieszczam przykładowy plik ~/.bashrc
, który m.in.:
- konfiguruje zapisywanie historii bez powtórzeń oraz wykonuje backup pliku historii
- włącza zaawansowane auto-uzupełnianie (w oparciu o pakiet bash-completion)
- ustawia zmienne środowiskowe, aliasy i przydatne funkcje (np. uproszczone wywołanie schroot, rekurencyjnego wyszukiwania i zastępowania)
- wywołuje menu pytające o uruchomienie lub wybór sesji tmux przy starcie powłoki w wybranych terminalach
Vim
Vim jest zaawansowanym edytorem tekstu działającym w trybie tekstowym.
Zamieszczam przykładowy, dość minimalistyczny plik ~/.vimrc
.
Tmux
Tmux jest multiplekserem terminali pozwalającym na uzyskanie wiele okien na jednym terminalu (także przez pionowe i poziome podziały), odłączanie się i podłączanie się do takich sesji, współdzielenie tej samej sesji na wielu oknach terminala, itd.
Zamieszczam przykładowy plik ~/.tmux.conf
, który m.in.:
- modyfikuje mapowania klawiszy (szczegóły poniżej)
- konfiguruje pasek statusu
- powoduje odpowiednie ustawianie tytułu okna xterm
klawiszologia
Jeżeli nie zaznaczono inaczej podane komendy należy poprzedzić tmux prefix key, czyli Ctrl+b lub Ctrl+x, czyli aby np. wyświetlić informację o mapowaniu klawiszy w tmux (polecenie ?) należy wprowadzić: Ctrl+b, ?. Aby przekazać do programu uruchomionego w tmux'ie klawisz wprowadzający tmux prefix key należy wprowadzić go dwukrotnie, czyli Ctrl+b, Ctrl+b przekaże Ctrl+b do programu działającego w tmux'ie (analogicznie z Ctrl+x).
Kolorem czerwonym oznaczono niestandardowe mapowania skonfigurowane w prezentowanym .tmux.conf
.
- ogólne:
- przełączenie obsługi myszki w tmux: m
- lista mapowań klawiszy: ?
- tworzenie, przełączanie i zamykanie okien
- nowe okno: c
- następne / poprzednie okno: n / p
- lista okien: w
- zamknij (zabij) okno: &
- panele, czyli podzielone okna
- podziel poziomo:
- utwórz nowe: h lub "
- dołącz istniejące: H
- podziel pionowo:
- utwórz nowe: v lub %
- dołącz istniejące: V
- pokaż numeracje i przełącz na podany: q
- zamień miejscami z następnym / poprzednim: } / {
- przełącz panel: strzałki
- zmień rozmiar panelu: Ctrl+strzałki
- zamknij (zabij) panel: x lub ^
- podziel poziomo:
- bufory, czyli przeszukiwanie, kopiowanie i przeglądanie zawartości okna
- wejście w tryb buforu historii: Esc
- polecenia w trybie bufora historii (nie wymagają poprzedzania tmux prefix key):
- przewijanie: strzałki lub kółko myszy lub PgUp/PgDown
- wyszukiwanie: / oraz n lub ?
- początek zaznaczania: spacja lub v
- skopiowanie i wyjście z trybu: enter lub y
- anulowanie zaznaczenia: Esc
- wklejenie: P
- zapis całego bufora panelu do pliku: Ctrl+s
- włączenie logowania panelu do pliku: Ctrl+l
- wyczyszczenie historii: Ctrl+q
- sesje
- lista wyboru sesji: s
- zmiana nazwy sesji: $
- odłączenie bieżącego klienta: d
- odłączenie wskazanego klienta: D
- blokada bieżącej sesji: b
-
inne
- zegar w obecnym panelu: t
- informacja o dacie i czasie: Ctrl+t
- kalenarz trzymiesięczny: Ctrl+c
-
komendy szybkiego dostępu (nie wymagają poprzedzania tmux prefix key):
- następne / poprzednie okno: Alt+PageUp / Alt+PageDown
- przełącz panel: Alt+strzałki
Xterm
Xterm jest emulatorem terminala działającym pod kontrolą X serwera.
Przy odpowiedniej konfiguracji wspiera on UTF-8 i czcionki TrueType.
Jego konfiguracja umieszczana jest w ogólnym pliku konfiguracyjnym aplikacji działających w środowisku graficznym – ~/.Xdefaults
i może wyglądać następująco:
! utf8
xterm.vt100.utf8: always
xterm.vt100.utf8Title: true
xterm.vt100.utf8Fonts: true
! use TrueType font
xterm.vt100.renderFont: true
XTerm*faceName: Monospace
XTerm*faceSize: 12
! visual - cursor, colors, ...
xterm.vt100.cursorBlink: true
XTerm*foreground: green
XTerm*background: black
! set TERM env variable
! xterm.termName: xterm-256color
Użycie XTerm*
zamiast xterm.vt100.
pozwala na nadpisywanie tych ustawień z użyciem opcji linii poleceń, na przykład: xterm -bg black -fg white -fs 10 /usr/bin/python3
.
OpenBox
OpenBox jest wysoce konfigurowalnym, lekkim i niezależnym od żadnego dużego, zintegrowanego środowiska graficznego menedżerem okien dla X serwera.
Jego pliki konfiguracyjne umieszczane są w katalogu ~/.config/openbox/
i mogą to być m.in.:
rc.xml
– odpowiedzialny m.in. za podstawowe ustawienia zachowania menadżera okien, wygląd dekoracji okien oraz skróty klawiszowemenu.xml
– odpowiedzialny za konfigurację menu, może tam być np. zdefiniowaneroot-menu
wyświetlane po kliknięciu prawym przyciskiem myszy w pulpitautostart.sh
– skrypt wykonywany przy stacie menadżera okien, może określać automatycznie uruchamiane aplikację, konfigurować tapetę pulpitu, itp.
klawiszologia
Plik rc.xml
odpowiada m.in. za konfigurację skrótów klawiszowych, w prezentowanym pliku konfiguracyjnym ustawione są następujące skróty:
-
okno
- aktyawacja:
- Alt + LPM
- LPM na belce tytułowej
- aktywacja bez przesunięcia na wierzch:
- Alt + PPM
- menu:
- Alt + Win + PPM
- Alt + Space
- PPM na belce tytułowej
- przenoszenie:
- Alt + LPM
- LPM na belce tytułowej
- zmiana rozmiaru:
- Alt + PPM
- LPM na krawędzi
- zamknięcie:
- Alt+F4
- aktyawacja:
-
pulpity
- przełączanie na
- pulpit x:
- Ctrl + Fx
- następny / poprzedni pulpit:
- Ctrl + Tab
- Ctrl + Shift + Tab
- Alt + kółko myszy
- pulpit x:
- przeniesienie okna na
- pulipt x i przełączenie na ten pulpit:
- Win + Ctrl + Fx
- pulipt x bez przełączenia na ten pulpit:
- Win + Ctrl + Shift + Fx
- następny pulpit i przełączenie na ten pulpit:
- Alt + Win + kółko myszy
- następny pulpit bez przełączenia na ten pulpit:
- Alt + Win + Shift + kółko myszy
- pulipt x i przełączenie na ten pulpit:
- przełączanie na
-
przełączanie okien
- na bieżącym pulpicie:
- Alt + Tab
- Alt + Shift + Tab
- z wszystkich pulpitów:
- Alt + Ctrl + Tab
- Alt + Ctrl + Shift + Tab
- lista okien na wszystkich pulpitach:
- Win + d
- Win + Shift
- d lub ŚPM na pulpicie
- na bieżącym pulpicie:
-
inne
- terminal: Alt + F1 / Win + t
- run command (z użyciem grun): Alt + F2 / Win + r
- menu systemowe: PPM na pulpicie
ikony na belce tytułowej
W pliku tym skonfigurowane są także ikony na pasku tytułowym okna w sposób następujący:
- po lewej:
- wszystkie pulpity
- zawsze na wieszchu
- menu (ikona aplikacji)
- po prawej:
- minimalizacja
- maksymalizacja (LPM – pełna, ŚPM – w pionie, PPM – w poziomie)
- zamknięcie
Fbpanel
Przydatnym dodatkiem do openboxa może być panel z podglądem i przełączaniem pulpitów, okien, zegarkiem, itp. Funkcję taką może pełnić np. fbpanel.
Zamieszczam przykładowy plik konfiguracyjny ~/.config/fbpanel/default
.
Wykorzystuje on moje poprawki do fbpanel, których źródła dostępne są w serwisie github.
W serwisie tym dostępny jest też mój fork fbpanel, zawierający te poprawki.