Debian: как разрешить сбой Xserver

Я продолжаю находить похожие сообщения в Интернете, но я не могу использовать эти решения в своем случае. в моем файле /etc/bash.bashrc , у меня есть следующий код, расположенный в самом низу:

 if [ -e /tmp/.X0-lock ]; then rm /tmp/.X0-lock fi startx cd /home/user1/Documents/ProgramFile ./ myProgram.sh 

Это автоматический запуск программы при запуске.

  • Можете ли вы установить OpenVPN для автоматического подключения к «резервному» .ovpns в случае, если текущий не удается?
  • Установка udisks2 ejects sdcard
  • Скрипт Init.d не работает при запуске: не удалось запустить SYSV
  • / etc / hosts в debian сбрасывается при перезагрузке
  • Компьютер Debian: часть usr повреждена
  • Debian: синхронизация громкости пульсирующего звука?
  • Я запускаю Debian 6.0.7. Я хочу запустить свою программу как root при запуске. Я выполнил следующую команду для отключения GUI:

      update-rc.d -f gdm3 remove 

    Я изменил /etc/inittab чтобы позволить пользователю root автоматически войти в систему:

     1:2345:respawn:/bin/login -f root tty1 </dev/tty1 > /dev/tty1 2>&1 

    когда я загружаю свой ящик, я получаю следующую ошибку:

     _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running Fatal server error: Cannot establish any listening sockets - Make sure an X server isn't already running Please consult the The X.Org Foundation support at http://wiki.x.org for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information. (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor 

    Странно, что это появляется в белом ящике в верхнем левом углу экрана, он остается там на некоторое время (~ 15 секунд), а затем я вижу, что мой код выполняется, и экран меняется на мое приложение.

    Q: Может кто-нибудь объяснить мне, что здесь происходит, и что я могу сделать, чтобы не получить сообщения об ошибках.

  • Как добавить xorg-edgers PPA в debian
  • Проблема с распределением принтеров x2go
  • Как Smooth обновляет ядро ​​Linux в Debian 8.5?
  • SSL-сертификаты ca-certificates.crt и ssl-cert-snakeoil.pem истек - что делать?
  • Как я могу просмотреть некоторые примечания к выпуску?
  • Команды командной строки xfce swap и управления
  • 2 Solutions collect form web for “Debian: как разрешить сбой Xserver”

    Похоже, что вы не изменили уровень выполнения по умолчанию и X Server уже запущен. Вы должны были установить значение 3, то есть:

      ID: 3: initdefault: 

    Хотя я не думаю, что ваш скрипт будет работать в любом случае. Эта часть:

     cd / home / user1 / Documents / ProgramFile
     ./ myProgram.sh
    

    будет выполнен только после остановки X Server.

    Ваш скрипт не проверяет, запущен ли X.
    Временное решение:

     if [ -e /tmp/.X0-lock ]; then XPID=$(cat /tmp/.X0-lock) if ps -p $XPID >/dev/null; then echo "X already running" else rm /tmp/.X0-lock startx fi fi cd /home/user1/Documents/ProgramFile ./myProgram.sh 

    Однако я бы сделал что-то вроде этого:

     # /etc/inittab 3:2345:respawn:/bin/login -f username tty3 < /dev/tty3 > /dev/tty3 2>&1 

    а также

     # /home/username/.bashrc if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty3 ]; then startx -- :0 -quiet -logverbose 11 cd /mydir ./myprog fi 

    Таким образом, вы автоматически создаете оболочку на tty3. Предполагая, что bash – это ваша текущая оболочка, bash проверяет, работает ли она на tty3, а затем выполняет ваши действия.

    Linux и Unix - лучшая ОС в мире.