Все ли виртуальные файлы в файлах устройств Linux?

Вы не можете переместить X-приложение, запущенное непосредственно с X-сервера, на котором приложение в конечном итоге отображается, это связано с тем, что X-клиент "привязан к X-серверу (X-дисплею), на котором он был запущен, на весь срок его жизни"[1]. Скорее всего, это связано с метаданными, которые X-сервер хранит об окнах клиента, которые не могут быть легко переданы между X-серверами.

То же самое относится к отдельно настроенным экранам (когда не используются расширения, такие как Xinerama или Twinview) для программ, в которых нет явной поддержки многоэкранности - "При такой конфигурации невозможно перемещать окна между экранами, кроме нескольких специальных программ, таких как GIMP и Emacs, которые имеют поддержку многоэкранности. "[2]

Теоретически, если бы приложение было разработано для работы с переключением контекста X-сервера, ему можно было бы предоставить новый номер дисплея/экрана, сохранить состояние его окон, подключиться к новому X-серверу/экрану и воскресить его окна, но немногие приложения будут разработаны таким образом и обязательно потребуют либо много шаблонов, либо включения библиотеки, которая бы как-то облегчила это.

Лучшим вариантом для вас, вероятно, будет использование других приложений, которые могут действовать как прокси между X-клиентом и отображающим X-сервером подобно тому, как GNU screen может использоваться для консольных приложений и терминала. Xmove и Xpra [3&4], похоже, являются наиболее широко используемыми реализациями для этого. Оговорка при их использовании заключается в том, что запускаемые приложения должны зарегистрироваться на Xmove или Xpra в качестве своего X-сервера, чтобы иметь возможность контекстного переключения между различными серверами отображения.

Наконец, есть еще один вопрос на SuperUser, который задает похожий вопрос для немного другой цели (восстановление соединения с X после сбоя X, а не преднамеренное отключение/отключение клиента)[5]

0
10.04.2018, 18:43
1 ответ

/procв Linux — это файловая система псевдо -, которая обеспечивает интерфейс к структурам данных ядра. В нем нет символьных или блочных специальных файлов в том же смысле, что и файлы в разделе /dev(, вы не можете использовать файлы /procдля монтирования файловой системы или для связи с модемом или ленточным накопителем и т. д. ).

Эта файловая система полностью описана в proc(5)руководстве по вашей системе(man 5 proc).

2
28.01.2020, 02:14

Теги

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