sudo не может изменить эффективного пользователя существующего процесса, он всегда создает новый процесс, который имеет поднятые полномочия, и исходная оболочка незатронута. Это - фундаментальный из дизайна UNIX. Я чаще всего просто сохранил файл к/tmp как обходное решение. Если Вы действительно хотите сохранить его непосредственно, Вы могли бы попытаться использовать функцию Vim, где это может передать файл по каналу к другому процессу. Попытайтесь сохранить с этой командой:
:w !sudo dd of=%
Протестированный и работы. Vim затем попросит, чтобы Вы перезагрузили файл, но это является ненужным: можно просто нажать o, чтобы не перезагружать и терять историю отмены. Можно даже сохранить это к команде/функции Vim или даже связать ее с ключом для легкого доступа, но я оставлю это как осуществление читателю.
Если бы я должен был высказать образованное предположение о том, что продолжается здесь, то я сказал бы, что Firefox сначала ищет открытое окно Firefox перед запуском, и если это существует, отправляет ему сообщение с помощью X, чтобы только запустить новое окно браузера. Поскольку удаленная система использует Ваш локальный дисплей, независимо от того, что это использует для обнаружения, берет локальное окно. (Это также объяснило бы, почему удаленное окно найдено при запуске локального процесса Firefox.)
Можно протестировать это путем закрытия всех локальных окон Firefox и затем попытки запустить Firefox на удаленном сервере - если обнаружение происходит как, я думаю, что это, не будет никакого Windows запуска для него для фиксации на, таким образом, это запустится, экземпляр в удаленной системе как Вы ожидают.
До фактического устранения проблемы предложение tante для установки MOZ_NO_REMOTE является надлежащим решением.
Была проблема с Firefox долгое время, попробуйте под управлением Firefox как firefox -no-remote
(установка MOZ_NO_REMOTE=1
поскольку переменная среды должна работать также).
Вот больше информации
X11Forwarding yes
Это говорит ssh просить X передавать, он производится по туннелю ssh к Вашему X-серверу каждый раз, когда Вы запускаете приложение с GUI.
– Patkos Csaba
08.10.2010, 09:46