LINUX.ORG.RU

Несколько вопросов по Arch linux

 


1

2

Я нуб и использовал только Ubuntu. Решил посмотреть что такое Arch. возникло несколько вопросов:

  1. Как сделать, что бы по команде crontab -e использовался редактор nano на постоянной основе вместо vi? Если ввести export EDITOR=nano, то работает это только в текущей сессии до закрытия терминала.

  2. Объясните простой способ запуска пользовательских скриптов при загрузке.

  3. Установлен cronie, но почему-то не работает @reboot (хотел запустить скрипт через эту функцию)

Как сделать, что бы по команде crontab -e использовался редактор nano на постоянной основе вместо vi? Если ввести export EDITOR=nano, то работает это только в текущей сессии до закрытия терминала.

Добавить переменную в ~/.config/environment.d/myconf.conf https://wiki.archlinux.org/title/Environment_variables#Defining_variables

Объясните простой способ запуска пользовательских скриптов при загрузке.

.bashrc

Установлен cronie, но почему-то не работает @reboot (хотел запустить скрипт через эту функцию)

systemd-timers в помощь

xDShot ★★★★★
()

Как сделать, что бы по команде crontab -e использовался редактор nano на постоянной основе вместо vi? Если ввести export EDITOR=nano, то работает это только в текущей сессии до закрытия терминала.

Добавить EDITOR=nano в /etc/environment.

Объясните простой способ запуска пользовательских скриптов при загрузке.

https://wiki.archlinux.org/title/Systemd/User

Установлен cronie, но почему-то не работает @reboot (хотел запустить скрипт через эту функцию)

https://wiki.archlinux.org/title/Systemd/Timers

sudopacman ★★★★★
()

1. EDITOR="nano" crontab -e при каждом вызове crontab, либо один раз добавить EDITOR=nano в /etc/environment.

2. yay -S rc-local, а затем: sudo systemctl enable rc-local.service. Потом просто в файл /etc/rc.local (строкой выше exit 0) добавляй пути к своим sh-скриптам, которые нужно выполнить при запуске системы.

3. Зачем тебе cronie? Да, иногда такое бывает, что не работает. Cron — это legacy. Используй таймеры systemd (systemd-timer).

minda
()
Ответ на: комментарий от minda

Cron — это legacy

Я бы так не говорил. Если в systemd сделали таймеры, это не значит, что крон сразу легаси.

Да и удобнее он. crontab -e нажал и пиши что надо. А то эти все .timer .service лепить для системд.

sergej ★★★★★
()

Если ввести export EDITOR=nano

В ~/.bashrc пропиши. Команды из этого файла выполняются при каждом логине.

  1. Объясните простой способ запуска пользовательских скриптов при загрузке.

Смотря на каком уровне. Тебе надо, чтоы они выполнялись сразу при запуске системы или при логине? Если первое, то нужно писать инит или задание к крону, если второе - см выше про .bashrc.

Dog ★★★
()

Всем спасибо за ответы, с nano разобрался и частично с автозапуском. Проще всего, вроде бы, оказалось запускать скрипты через rc-local.service, но тут есть проблема с conky - выдает ошибку что-то типа «conky: can’t open display», из-за того, как я понимаю, что происходит попытка запуститься до запуска иксов. Поэтому да, нужен запус скрипта после логина. Сейчас видимо буду читать про .bashrc.

Riendau
() автор топика
Ответ на: комментарий от Riendau

Проще всего, вроде бы, оказалось запускать скрипты через rc-local.service, но тут есть проблема с conky - выдает ошибку что-то типа «conky: can’t open display», из-за того, как я понимаю, что происходит попытка запуститься до запуска иксов

Ты от рута запускаешь потому что. Вообще, нафиг костыли, делай всё встроенными средствами systemd. Если тебе нужно запускать от пользователя, то https://wiki.archlinux.org/title/Systemd/User. Но если приложение графическое, то лучше сделать автозапуск средствами DE.

Сейчас видимо буду читать про .bashrc.

Тебе вообще не к месту про ~/.bashrc насоветовали. Там не должно быть ничего, что не относится непосредственно к конфигурации Bash.

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 1)
Ответ на: комментарий от sergej

Если в systemd сделали таймеры, это не значит, что крон сразу легаси.

Да и удобнее он. crontab -e нажал и пиши что надо. А то эти все .timer .service лепить для системд.

Я пожалуй кину этот камент в закладки. Я-то думал комбайн ненужнод сожрал в числе прочего и крон, а оказывается он и этого сделать толком не смог, что в итоге приводит к дублированию функционала в системе.

dimgel ★★★★★
()

Как сделать, что бы по команде crontab -e использовался редактор nano

имхо лучше используй встроенный редактор Midnight Commander, вызываемый командой mc -e , которую ты и можешь прямо вот в таком виде рпописать в переменную EDITOR="mc -e"

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от Riendau

ошибку что-то типа «conky: can’t open display»,

Дурной совет: разреши локальные подключения к залогиненым иксам через прописывание в автозагрузку комманды xhost +local:

torvn77 ★★★★★
()
Ответ на: комментарий от sudopacman

не к месту про ~/.bashrc насоветовали

а у меня только так и работает, если прописать в environment не помогает

anonymous
()
Ответ на: комментарий от sudopacman

делаешь не так

перелогиниться нужно и тогда попрет

anonymous
()
Ответ на: комментарий от sudopacman

То что я написал что совет дурной это только для общего сведения применительно к продакшену,
а так для домашнего локалхоста ни чуть не дурной.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

На кой хрен ему запускать «коньки» от рута и потом разрешать их подключение к иксам, вместо того чтобы запускать «коньки» средствами DE, как это и положено делать?

sudopacman ★★★★★
()

Ещё раз всем спасибо. Собственно говоря я уже разобрался, в том числе благодаря этой теме.

По поводу автозапуска графического приложения средствами DE - это первое, что мне пришло в голову. Однако в Arch’e с Gnome, как я понимаю, предлагается использовать Gnome-tweak для этого, но там можно просто выбрать программу и не предполагается добавлять ключи запуска. Решил я это установкой «устаревшей», как говорит arch wiki, gnome-session-properties из AUR (почему более функциональное приложение стало устаревшим я не понял). В Ubuntu оно стоит по умолчанию.

Riendau
() автор топика
Последнее исправление: Riendau (всего исправлений: 1)
Ответ на: комментарий от Riendau

Однако в Arch’e с Gnome, как я понимаю, предлагается использовать Gnome-tweak для этого, но там можно просто выбрать программу и не предполагается добавлять ключи запуска.

А если не выбирать и просто вписать «conky –daemonize –pause=3» (без кавычек)? Или ручками целиком, так https://wiki.archlinux.org/title/conky#Autostart

anonymous
()
Ответ на: комментарий от anonymous

Ну как я написал выше решил я это при помощи gnome-session-properties. В принципе, наверное, самый простой и универсальный способ.

Riendau
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.