Не VNC и VNC $ Показать путаница

415
confused

У меня есть система Ubuntu 16.06LTS (назовем ее Fred), которую я использую, сидя перед ней, и в той же системе я использую VNC-сервер (FredVNC). Моя проблема в том, что когда я запустил приложение в одной среде (например, Fred), оно ТОЛЬКО запускается в этой среде. Например, если я запускаю Libre Office и работаю над документом дома на Фреде, то ухожу из дома и хочу открыть файл .doc в электронном письме, которое я проверяю удаленно через клиентское соединение VNC (с FredVNC). Файл документа не открывается в VNC, а на моем локальном рабочем столе ... Фред. Я должен вернуться домой, чтобы увидеть это. Или (альтернативно) я могу убить -9 Libre Office, а затем открыть приложение в VNC. Но тогда любые открытые документы, которые были на Фреде, рискуют потерять данные.

То, что мне нравится, это способ, чтобы два параллельных экземпляра приложений открывались по отдельности ... чтобы я мог работать в Libre Office в VNC, одновременно открывая документы Libre Office на Фреде.

Я предполагаю (возможно, наивно), что есть способ командной строки открыть экземпляр программы, который назначит его VNC или Fred Display. Я пытался найти это, и, к сожалению, я в кошмаре ключевых слов. Кажется, ничего не выбирает правильные термины, и я получаю совершенно не по теме результаты.

Если кто-нибудь знает, что мне нужно сделать, это было бы очень полезно. Заранее спасибо!

1

1 ответ на вопрос

1
Kamil Maciorowski

Похоже, ваш VNC-сервер создает виртуальный рабочий стол вместо предоставления существующего (что, я считаю, более распространенное поведение). Плюс Libre Office использует один «основной» процесс для каждого пользователя. Когда вы открываете дополнительный файл, новый процесс обнаруживает существующий, привязывает к нему задание и завершает работу. Я предполагаю, что старый процесс придерживается того дисплея, который был прав в момент его запуска.

После того, как вы уничтожите старый процесс, новый может открыть файл и сохранить его, с этого момента он становится «основным» процессом Libre Office. Он использует дисплей, который считает правильным.

Я думаю, что вы могли бы перенастроить сервер VNC для обеспечения существующего рабочего стола. С другой стороны, я полагаю, у вас были причины использовать отдельный виртуальный рабочий стол, поэтому вы можете не захотеть это менять.

То, что мне нравится, это способ, чтобы два параллельных экземпляра приложений открывались по отдельности ... чтобы я мог работать в Libre Office в VNC, одновременно открывая документы Libre Office на Фреде.

Я не знаю, как заставить Libre Office игнорировать старый процесс, запущенный для того же пользователя. Есть --displayвариант, но я не могу заставить его работать.

Смотрите этот вопрос: X11 forwarding - захватить окна уже запущенных программ . Мой ответ там вводит xpra. Если вы запустите (первый) Libre Office с xpra, вы сможете присоединиться к его окнам из других мест.

Посмотрите, что еще вы можете сделать . На мой взгляд, главное преимущество перед VNC - это возможность выбирать режим работы в момент подключения. Вы можете запустить новый рабочий стол, клонировать существующий, запустить программу или присоединиться к программе, которая уже запущена xpra. Я думаю, довольно гибкий.

В наихудшем сценарии вы доберетесь до своего существующего рабочего стола только для того, чтобы аккуратно закрыть не- xpraнеокрашенные окна Libre Office без потери данных. Затем вы снова запустите Libre Office, на этот раз с xpraудаленного клиента.

Большое спасибо за мысли - да, именно, вы поняли, что не так или что мне нужно сделать. Вполне возможно, что xpra поможет мне предотвратить эту проблему, поэтому я рассмотрю ее. Не совсем то, что я хочу (нет способа заставить Libre Office запускать 2 экземпляра ??), но, возможно, достаточно обходного пути. confused 5 лет назад 0
@confused Есть опция `--display` (например,` lowriter --display: 1`), но я не могу заставить ее работать. Если это работает для вас, то, пожалуйста, напишите свой собственный ответ, и я проголосую за него. Kamil Maciorowski 5 лет назад 0
Как я могу узнать, какой дисплей использует мой VNC-сервер? Я думаю, что это то же самое, на самом деле, основываясь на результатах uname -n, это то же самое, независимо от того, нахожусь ли я в VNC или нет. Так что, возможно, если бы я мог просто запустить VNC в другой среде $ DISPLAY, которая бы хотя бы частично его решила? Тогда я мог бы попробовать swriter --display: 1 или что-то? confused 5 лет назад 0
Я понял, что мой VNC $ DISPLAY: 3.0, а мой localhost: 0.0. Могу ли я сказать, чтобы окно открывалось в одном против другого? confused 5 лет назад 0

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