помимо firefox -no-remote
еще одним параметром является firefox -no-xshm
, который раскрывает технику, используемую для его работы.
Общая память X11 - это метод межпроцессного взаимодействия, который может использоваться всеми приложениями, подключенными к данному сеансу x-сервера. Может использоваться для перетаскивания & amp; drop и другие виды взаимодействия с рабочим столом.
Он может быть (и используется) также для реализации приложений «открыть один раз», чтобы уменьшить занимаемую площадь (или количество окон).
Поскольку протокол X11 прозрачен для сети, «разделяемая память» распространяется и на удаленные клиенты X11.
Заметьте, я занимался копанием куполов, так как это меня беспокоило, и вы также можете просто добавить:
MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE
в свой профиль.
sshd_config
, у вас может возникнуть ситуация, когда он выполняется и возвращается через туннель.
– Metin Atalay
04.09.2010, 14:08
Ни одно из других решений не помогло мне, так что это было после небольшого поиска на других сайтах.
Вам нужно запускать Firefox в отдельном процессе так же, как если бы вы делали все это на локальной машине. Используйте менеджер профилей, чтобы создать новый профиль следующим образом.
export MOZ_NO_REMOTE=1
firefox -ProfileManager
Чтобы все было согласованно, я решил присвоить каждому новому профилю на внешнем компьютере имя, совпадающее с именем хоста.
Вы можете попробовать это, когда вы подключились к машине (ssh user@host
; примечание: без опции -X), сначала наберите следующую команду
export DISPLAY=:0
, это изменит отображение по умолчанию на отображение текущий экран рабочего стола. А затем просто наберите
firefox
, чтобы Firefox появился в окне рабочего стола. Убедитесь, что вы вошли на рабочий стол, без которого (без входа в систему) вы получите следующую ошибку;
firefox: cannot connect to X server :0
Этот метод будет работать и для заблокированных рабочих столов. Убедитесь, что вы вошли на рабочий стол и в оболочку ssh с тем же именем пользователя .
При наличии нескольких сеансов рабочего стола каждый сеанс идентифицируется различным номером как :0
, :1
, :2
и т. Д.
Если вы хотите просматривать веб-страницы локально, как если бы вы сидели перед удаленной коробкой:
$ ssh -X username@remote.example.com
, затем запустите Firefox внутри сеанс удаленного терминала :
$ firefox https://test-ipv6.com/
Обратите внимание на использование флага -X
в команде ssh
. Вы также можете выполнить оба действия за один раз, как показано ниже:
$ ssh -X username@remote.example.com firefox http://test-ipv6.com/
Если у вас есть приложение, работающее удаленно, которое предоставляет веб-интерфейс какого-то , вам будет интересно показать удаленный порт IP: как локальный порт IP :. В этом случае опция -L
определяет соответствие между localhost:localport
и remotehost:remoteport
, как показано в псевдокоманде ниже:
ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost
Например:
$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com
затем запустите Firefox локально :
$ firefox http://127.0.0.1:18080
В приведенном выше примере вы подключаетесь через SSH к username@router.example.com
, и вас интересует веб-интерфейс, выставленный на internal.example.com:8080
. Этот удаленный IP: порт будет доступен локально в 127.0.0.1:18080
.
Я просто добавлю, что сработало для меня. Простое использование firefox -no-remote
не удалось с обычной ошибкой
Error: GDK_BACKEND does not match available displays
Однако сработало следующее:
ssh -Y user@host
firefox -no-remote
Опция -Y
включает доверенную пересылку X11. Доверенные пересылки X11 не подвергаются элементам управления расширением X11 SECURITY. Можно также добавить опцию -C
в команду ssh
для включения сжатия.