Chciałbyś, aby crontab korzystał z preferowanego przez Ciebie edytora, zamiast z domyślnego? W tym przewodniku znajdziesz instrukcje, które pomogą Ci to zrealizować. Zawarte wskazówki są odpowiednie dla systemów Linux, macOS oraz innych systemów operacyjnych opartych na Unixie.
Kontrowersje związane z edytorami tekstu
Edytory tekstu pełnią stosunkowo prostą funkcję, ale emocje, jakie towarzyszą wyborowi konkretnego edytora, sprawiły, że zjawisko to stało się źródłem licznych sporów, znanych jako wojny edytorów, które trwają od 1985 roku. Nie zamierzamy podsycać tych konfliktów ani faworyzować jednego edytora nad innym. Zamiast tego przedstawimy, jak zmienić domyślny edytor crontab na inny, jeśli tego pragniesz.
Użycie polecenia crontab -e otworzy edytor, który pozwoli Ci edytować tabelę cron. Tabela ta zawiera wszystkie zaplanowane zadania, które mają być wykonywane o określonych porach. W tym artykule nie będziemy zagłębiać się w szczegóły dotyczące zadań cron, skoncentrujemy się jedynie na edytorze powiązanym z poleceniem crontab -e.
Kiedy po raz pierwszy użyjesz polecenia crontab z opcją -e (edytuj) w terminalu Bash, zostaniesz poproszony o wybór edytora. Wprowadź crontab, spację, -e i naciśnij Enter.
crontab -e
Wybrany edytor będzie używany do otwierania tabeli cron. Na przykład, jeśli wybierzesz nano, robiąc to poprzez naciśnięcie klawisza 1.
Edytor, który wybierzesz z listy, będzie używany za każdym razem, gdy wpiszesz polecenie crontab -e. Co jeśli jednak zmienisz zdanie i chcesz wybrać inny edytor, ale menu pojawi się tylko przy pierwszym uruchomieniu? Nic prostszego. Możesz skorzystać z polecenia select-editor.
select-editor
Co z dystrybucjami bez opcji wyboru edytora?
Aby ustawić domyślny edytor dla crontab, możesz dodać odpowiednią linię do swojego pliku .bash_profile. Wprowadź polecenie:
gedit ~/.bash_profile
W edytorze dodaj ten wpis:
export VISUAL=”gedit”
Oczywiście, zamiast „gedit” powinieneś wpisać nazwę edytora, którego chcesz używać. Po zapisaniu pliku zamknij edytor. Aby zastosować zmiany, wyloguj się i zaloguj ponownie lub wykonaj to polecenie:
. ~/.bash_profile
Warto zauważyć, że linia zaczyna się od kropki. Polecenie „source” jest aliasem dla polecenia „.” i wykonuje tę samą funkcję. Jednak nie wszystkie dystrybucje oferują polecenie „source”. Dlatego polecenie „.” powinno być zawsze dostępne. Warto jednak zaznaczyć, że „source” działało we wszystkich dystrybucjach, w których testowano ten artykuł, w tym Ubuntu, Debian, Manjaro, Arch, Fedora, CentOS i OpenIndiana.
Bez względu na to, czy użyjesz kropki, czy „source”, polecenie to odczyta ustawienia z pliku .bash_profile i przeniesie je do bieżącej sesji. Teraz, gdy wpiszesz:
crontab -e
Użyty zostanie edytor, który wskazałeś, aby otworzyć tabelę cron.
Twój .bash_profile może być już wypełniony
Podczas edycji pliku .bash_profile może on nie być pusty. Wystarczy przewinąć na dół i dodać linię eksportu VISUAL=”gedit” na końcu pliku. Oto przykład domyślnego pliku .bash_profile w Manjaro Linux, z nową linią:
Specyfika OpenIndiana
W przypadku systemu OpenIndiana konieczne jest dodanie linii export VISUAL=”gedit” do pliku .bashrc, a nie do .bash_profile. Wpisz polecenie:
pluma ~/.bashrc
Dodaj linię, zapisz plik, a następnie zamknij oraz ponownie otwórz terminal.
Wykonaj polecenie crontab -e, aby sprawdzić, czy zmiany zostały wprowadzone:
crontab -e
Teraz Twoja tabela cron powinna być otwierana w edytorze nano.
W ten sposób możesz ustawić preferowany edytor w różnych dystrybucjach Linuksa, niezależnie od tego, czy są one oparte na Debianie, RedHat, Arch, czy mają bardziej klasyczny charakter typu Unix.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.