Как FireFox работает на виртуальной машине, которая не имеет никакого дисплея?

Да, это немного непоследовательно, даже в инструментах GNU.

Одна проблема с Вашим предложением состоит в том, что непустые каталоги не могут быть удалены. Кроме этого, -T (на земле GNU, так или иначе), приближает то, что Вы хотите (первый случай):

$ ls dira/ dirb/
dira/:
a

dirb/:
b
$ mv -iT dira/ dirb/
mv: overwrite `dirb/'? y
mv: cannot move `dira/' to `dirb/': Directory not empty
$ rm dirb/b 
$ mv -iT dira/ dirb/
mv: overwrite `dirb/'? y
$ ls dira/ dirb/
ls: cannot access dira/: No such file or directory
dirb/:
a
3
26.10.2011, 06:52
2 ответа

Для Firefox нужны X дисплеев. Это не должно быть физическим дисплеем на машине, куда она работает: это может быть удаленный или виртуальный дисплей.

Если Вы хотите знать, где это отображается, посмотрите на DISPLAY переменная среды в процессе Firefox. Обратите внимание, что необходимо будет быть корнем (или более точно иметь полномочия пользователя, выполняющего процесс Firefox).

</proc/$pid/environ grep -z '^DISPLAY='

Если значение имеет форму :NUMBER (начало с двоеточия), X-сервер локален. Будет названный сокет /tmp/.X11-unix/XNUMBER, например. /tmp/.X11-unix/X42 для DISPLAY=:42. Если дисплей имеет форму :NUMBER1.NUMBER2, проигнорируйте .NUMBER2 часть. Затем выполненный lsof /tmp/.X11-unix/X42; одним из процессов, который имеет тот открытый сокет, является X-сервер. Это, вероятно, будет виртуальный X-сервер кадрового буфера как Xvfb, или это мог быть сервер для удаленной платформы дисплея, такой как VNC или NX.

Если значение имеет форму host:NUMBER, затем эти X дисплеев являются удаленными. X-сервер является процессом, слушающим на порте 6000+NUMBER. Выполненный netstat -plnt | awk '$4 ~ ":" (6000 + NUMBER) "$"' {print $7} для показа PID процесса, это слушает на том порте. Это, вероятно, будет соединение SSH.

5
27.01.2020, 21:17
  • 1
    Почему Вы имеете netstat выполнение с -l и -a опции? Они делают противоречащие вещи. –  Kevin M 26.10.2011, 18:51
  • 2
    @KevinM Ни по какой причине, здесь я ищу сокет слушания, таким образом, это должно быть -l.Спасибо. –  Gilles 'SO- stop being evil' 26.10.2011, 19:30
  • 3
    комментариев SE Должен также быть отмечен, что передача ssh X11 будет часто заканчиваться с ДИСПЛЕЕМ, являющимся чем-то как localhost:10 –  derobert 07.12.2011, 07:14
  1. Так как X11 является Оконная система, которая позволяет серверу приложений использоваться для отличия от используемого X-сервера, не необходимо иметь локально установленный дисплей.

  2. Лучшая вещь состояла бы в том, чтобы проверить, который является родителем под управлением Firefox, т.е. регистрируйте PID Родителя ps вывод (Вам, вероятно, придется посмотреть на его родителя также...). BTW: Если у Вас есть команда как ptree установленный, это помогает много.

  3. Признак Annother был бы идентификатором пользователя, который использует процесс.

0
27.01.2020, 21:17

Теги

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