Bash ANSI C цитирование неправильно цитирует новые строки

Подумайте об этом некоторое время. Вы перезагружаете компьютер и идете делать чашку кофе. Задача cron пытается запуститься, но где она должна открывать терминал? Вы даже не вошли в систему...

Задания Cron не запускаются в той же среде, что и ваша интерактивная среда с графическим интерфейсом, и поэтому вы обычно не можете планировать задания cron, как если бы они были обычными командами, введенными в командной строке, не позаботившись о настройке необходимых переменных среды и т. д. что задание cron должно быть запущено.

В данном случае дело не только в нескольких переменных среды, но и в том факте, что пользователь может даже не войти в систему, когда выполняется задание cron. Для запуска графического терминала требуется среда рабочего стола.


Я предполагаю, что вы хотите запускать свою команду каждый раз при запуске среды рабочего стола (при входе в систему, а не при перезагрузке ).

Чтобы сделать это в XFCE, выберите «Настройки» -> «Сеанс и запуск» -> «Автозапуск приложения» и щелкните Addили создайте файл с расширением .desktopв~/.config/autostart/(этот каталог может не существовать, поэтому вам, возможно, придется его создать ).

Файл должен выглядеть примерно так

[Desktop Entry]
Version=1.0
Name=Script
Type=Application
Exec=/home/user/bin/script.sh
Terminal=false
StartupNotify=false

Где /home/user/bin/script.sh— скрипт, который делает то, что вы хотите.

(Приведенное выше взято из ветки форума XFCE , и я не знаю, работает ли это, поскольку я даже не использую X11)

Также относится:Сценарий инициализации Xfce

-1
12.12.2019, 11:16
1 ответ

Вы используете printfнеправильно. Вы указали строку, в которой ожидается строка формата, и printfсоответственно интерпретирует \n. Используйте строку правильного формата и укажите строку в кавычках ANSI -C -в качестве аргумента:

$ printf '%s\n' $'"Hello, World!\\n"'
"Hello, World!\n"

Или, чтобы более четко показать, куда идет аргумент в строке формата:

$ printf '|%s|\n' $'"Hello, World!\\n"'
|"Hello, World!\n"|
3
28.01.2020, 05:07

Теги

Похожие вопросы