ошибка sudo при использовании nohup для запуска программ в фоновом режиме

Это то, что я использую каждый день, которое проходит через обычный драйвер X11, а не через VGA BIOS, root-доступ не требуется:

xrandr --output LVDS1 --off
  • Если ваш дисплей не является встроенным -ЖК-экраном, замените LVDS1соответствующим портом из простой команды xrandrбез параметров. Обычно это что-то вроде VGA1, HDMI1или DP1.

Это не переводит экран в режим ожидания в смысле энергосбережения в стиле DPMS -; он фактически отключает указанный видеовыход и отсоединяет его от вашего сервера отображения.

Побочным эффектом этого безголового состояния является то, что ваш «рабочий стол» сожмется до крошечного размера; около 320x200 пикселей; Вы можете нажать клавишу PrintScreen , чтобы увидеть, как это выглядит. Вероятно, это не сработает для ваших юзабилити-тестов, так что...


Для предотвращения усадки; добавить опцию --fbдля установки размера виртуального «рабочего стола» после отключения видеовыхода:

xrandr --output LVDS1 --off --fb 1024x768
  • Замените LVDS1соответствующим выходным портом и 1024x768вашим текущим разрешением.

Как только видеовыход будет отключен, а размер виртуального «рабочего стола» будет установлен, вы можете приступать к тестированию.

Когда вы захотите вернуться, повторно -включите свой выход:

xrandr --output LVDS1 --auto
  • Замените LVDS1соответствующим выходным портом.
  • Это установит вывод на по умолчанию монитор -родное разрешение. Если вы хотите восстановить его до определенного разрешения, замените --autoчем-то вроде--mode 1024x768(замените 1024x768на желаемое разрешение ).

П.С. Мой ответ проверен на Debian 7.0 32 -битная система GNU / Linux, сервер отображения Xorg 1.12.4, графика Intel i915.

0
02.11.2020, 19:47
1 ответ

Возможно изменение порядка команд:

sudo nohup python3 program.py &

Это sudo, который после получения пароля запускает команду nohup с аргументами и отключает python3 от терминала, но, если немного подумать, это означает, что это команда sudo, которая становится фоновой, а не команда nohup, кроме от необходимости авторизовать /usr/bin/nohup python3 program.pyв файле sudoers.

Итак, чтобы отделить фоновую операцию от повышения прав, создадим скрипт /root/mypylauncher.sh, содержащий nohup python3 program.py &команду и вызовите ее с помощью sudo /root/mypylauncher.sh. (Если скрипт находится в доступном для чтения каталоге,chown root:rootи chmod go-wэтот сценарий для защиты системы от злоумышленников ).

0
18.03.2021, 22:52

Теги

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