Когда я SSH к удаленной коробке
$ ssh -X remotebox
затем запустите Firefox на удаленной коробке
remotebox$ firefox
и у меня запущен firefox на моей локальной машине, откроется локальное окно firefox. на удаленном компьютере не запущен процесс firefox.
Если Firefox не работает на моей локальной машине, то откроется окно удаленного Firefox.
Почему он открывает локальное окно firefox? Как я могу предотвратить это?
Вот еще немного информации о моей локальной системе.
Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
DISPLAY=:0.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Информация о пульте.
Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description: openSUSE 10.3 (X86-64)
Release: 10.3
Codename: n/a
DISPLAY=localhost:15.0
Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org
Следующая команда запускает удаленный сеанс firefox с удаленным окном firefox.
remotebox$ firefox -no-remote
Следующая команда производит короткую задержку, затем возвращается к приглашению, и появляется локальное окно firefox. На удаленном компьютере не запущен процесс firefox.
remotebox$ firefox
Информация о remotebox2.
Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic
DISPLAY=localhost:11.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Следующая команда на remotebox2 запускает удаленный сеанс firefox, как и ожидалось.
remotebox2$ firefox
Я не знаю, почему Firefox на remotebox2 запускает удаленный сеанс вместо локального сеанса.
$DISPLAY
переменной как на локальной, так и на удаленной машине?$DISPLAY
похоже, это не проблема, похоже, ssh все настраивает правильно.Ответы:
кроме того,
firefox -no-remote
другой параметр,firefox -no-xshm
который показывает технику, используемую, чтобы заставить его работать.Общая память X11 - это метод межпроцессного взаимодействия, который может использоваться всеми приложениями, подключенными к данному сеансу x-сервера. Его можно использовать для перетаскивания и других видов взаимодействия с рабочим столом.
Он может быть (и используется) также для реализации приложений «открыть один раз», чтобы уменьшить занимаемую площадь (или количество окон).
Поскольку протокол X11 прозрачен для сети, «разделяемая память» распространяется и на удаленные клиенты X11.
источник
Пытаться
firefox -no-remote
источник
sshd_config
вас может возникнуть ситуация, когда он выполняется и возвращается через туннель.Заметьте, я занимался копанием куполов, так как это меня беспокоило, и вы также можете просто добавить:
в ваш профиль.
источник
Вы можете попробовать это, когда вы подключились к машине (
ssh user@host
; примечание: без опции -X), сначала введите следующую командуэто приведет к изменению отображения по умолчанию на отображение текущего экрана рабочего стола. А потом просто наберите
чтобы Firefox появлялся в окне рабочего стола. Убедитесь, что вы вошли на рабочий стол, без которого (без входа в систему) вы получите следующую ошибку;
Этот метод будет работать и для заблокированных рабочих столов. Убедитесь, что вы вошли на рабочий стол и в оболочку ssh с тем же именем пользователя.
Когда есть несколько сеансов рабочего стола, каждый сеанс идентифицируется другим числом , как
:0
,:1
,:2
и т.д.источник
Ни одно из других решений не помогло мне, так что это было после небольшого поиска на других сайтах.
Вам нужно запускать Firefox в отдельном процессе так же, как если бы вы делали все это на локальной машине. Используйте менеджер профилей, чтобы создать новый профиль следующим образом.
Чтобы все было согласованно, я решил присвоить каждому новому профилю на внешнем компьютере имя, совпадающее с именем хоста.
источник
Простой удаленный просмотр
Если вы хотите просматривать веб-страницы локально, как если бы вы сидели перед удаленной коробкой:
затем запустите Firefox внутри сеанса удаленного терминала :
Обратите внимание на использование
-X
флага вssh
команде. Вы также можете сделать оба шага за один раз, как показано ниже:Туннелирование удаленного IP: порт
Если у вас есть приложение, работающее удаленно, которое предоставляет какой-то веб-интерфейс, вам будет интересно показать удаленный порт IP: как локальный порт IP :. В этом случае
-L
опция определяет соответствие междуlocalhost:localport
иremotehost:remoteport
, как показано в псевдокоманде ниже:Например:
затем запустите Firefox локально :
В приведенном выше примере вы подключаетесь через SSH
username@router.example.com
и заинтересованы в веб-интерфейсе, доступном по адресуinternal.example.com:8080
. Этот удаленный IP: порт будет доступен локально по адресу127.0.0.1:18080
.источник
Я просто добавлю, что сработало для меня. Простое использование
firefox -no-remote
не удалось с обычной ошибкойОднако сработало следующее:
-Y
Опция позволяет доверять перенаправление X11. Доверенные пересылки X11 не подвергаются элементам управления расширением X11 SECURITY. Вы также можете добавить-C
опцию вssh
команду для включения сжатия.источник