Ошибка запуска gnome-терминала из /etc/rc.local ubuntu 12.04

 Я не могу запустить gnome-терминал из rc.local, со следующей ошибкой.

** (gnome-terminal: 1304): ПРЕДУПРЕЖДЕНИЕ **: Командная строка `dbus-launch --autolaunch=bd53fdd726adb41172f458c100000007 - двоичный синтаксис --close-stderr'завершена с ненулевым состоянием выхода 1: ошибка автозапуска: инициализация X11 не удалось.\ п
Не удалось разобрать аргументы: не удается открыть дисплей: 
Не удалось разобрать аргументы: не удается открыть дисплей:

команда внутри rc.local есть
CD / путь / к / серверу
gnome-terminal -e 'узел sudo startserver.js'

1 ответ

Решение

Кажется, есть сообщение об ошибке, пытающееся вам что-то сказать: exited with non-zero exit status 1: Autolaunch error: X11 initialization failed- другими словами, rc.local не имеет X-дисплея для запуска gnome-терминала.

Если вы уверены, что X-дисплей будет доступен во время его выполнения (и я сомневаюсь в этом - rc.local завершает выполнение задолго до появления X-дисплея), вы можете попробовать env DISPLAY=:0 gnome-terminal -e 'sudo node startserver.js', Это может быть проблематично, так как gnome-terminal будет работать как root (что является плохой идеей по нескольким причинам).

Если, с другой стороны, вы пытаетесь запустить терминал на дисплее X вошедшего в систему пользователя (что, кажется, является вашей конечной целью), вы можете добавить команду в свои сценарии автозапуска. Смотрите это для версии GUI, смотрите ваш ~/.config/autostart а также /etc/xdg/autostart для результатов.

Другие вопросы по тегам