1

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

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

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

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

1 ответ1

1

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

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

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .