RHEL6 && OEL6 Как определяется $ DISPLAY при запуске?

Я испытываю непоследовательные переменные $ DISPLAY на моих серверах OEL6, которые вызвали немало проблем с файлами сокетов .

Я обнаружил удивительно мало того, что на самом деле устанавливает переменную среды $ DISPLAY, я знаю, что она делает (более или менее), и как вручную установить ее в оболочке. Что я не знаю, КАК она установлена, когда система запускается.

  • Xmove не может подключиться к серверу X11 через пересылку SSH X
  • Как эмулировать виртуальную клавиатуру с произвольным набором символов?
  • Как снова получить сенсорную панель?
  • Значок изменения для командной строки формы приложения?
  • Настройка переменных окружения для Gnome on Wayland только для сеанса
  • Не удалось открыть / dev / vmmon: нет такого файла или каталога
  • так

    Как и где находится переменная среды GDM $ DISPLAY и как я могу заставить GDM: 0.0?

    Примечание. Я НЕ ищу export DISPLAY=:0.0 как это не будет в этом случае использоваться.

  • Как заставить MATE запускать команду при запуске сеанса?
  • Почему Magic SysRq не включен по умолчанию в некоторых системах? Есть ли риск?
  • Повторная попытка потерять сессию X11
  • В чем смысл «инициализации червя ...» на выходе dmesg?
  • sudo: "g ++: команда не найдена"
  • Как заставить изменить пароль linux, даже если он аналогичен предыдущему
  • One Solution collect form web for “RHEL6 && OEL6 Как определяется $ DISPLAY при запуске?”

    В человеке X (7) есть раздел Display Names, который гласит:

    В системах POSIX отображаемое имя по умолчанию сохраняется в переменной среды DISPLAY. Эта переменная устанавливается автоматически эмулятором терминала xterm.

    и далее:

    Наконец, большинство X-программ принимают параметр командной строки -display displayname, чтобы временно переопределить содержимое DISPLAY. Это чаще всего используется, чтобы всплывать окна на экране другого человека или как часть команды «удаленная оболочка», чтобы запустить xterm, обращаясь к вашему дисплею.

    man для Xserver (1) у нас есть информация о параметрах:

    : displaynumber Сервер X работает как заданный номер дисплея, который по умолчанию равен 0. Если несколько серверов X должны одновременно выполняться на хосте, каждый должен иметь уникальный номер дисплея. См. Раздел «НАЗВАНИЯ ДИСПЛЕЯ» на странице руководства X (7), чтобы узнать, как указать, какие клиенты с числовыми номерами следует пытаться использовать.

    Взгляните на: / etc / gdm / Init / Default (доступно на ArchLinux, поэтому не уверен, что в системе RHEL он доступен).

    Еще несколько выводов. DISPLAY устанавливается программой xinit. xinit.c имеет следующее:

     if (argc > 0 && (argv[0][0] == ':' && isdigit(argv[0][1]))) displayNum = *argv; else displayNum = *sptr++ = default_display; 

    (…)

     static void set_environment(void) { if (setenv("DISPLAY", displayNum, TRUE) == -1) Fatal("unable to set DISPLAY"); } 

    Таким образом, xinit может установить значение по умолчанию или взять его из опции, переданной в xinit, когда она была запущена. xinit (1) :

      xinit [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ] 

    И еще один. переменная среды может быть установлена ​​PAM. Например. /etc/security/pam_env.conf

     # Set the DISPLAY variable if it seems reasonable #DISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY} 
    Linux и Unix - лучшая ОС в мире.