Как запустить удаленное окно Firefox через SSH?

Когда я подключаюсь по 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 запускает удаленный сеанс вместо локального.

66
задан 6 January 2015 в 14:25

7 ответов

, кроме firefox -no-remote еще один параметр - firefox -no-xshm, который раскрывает технику, которая использовалась для его работы.

X11 общая память - это метод межпроцессного обмена данными, который может использоваться всеми приложениями, подключенными к заданному сеансу x сервера. Она может использоваться для выполнения перетаскивания и других видов взаимодействия на рабочем столе.

Она может использоваться (и используется) также для реализации приложений, "открытых один раз", с целью уменьшения занимаемой площади (или количества окон).

Поскольку протокол X11 является сетевой прозрачностью, "общая память" распространяется и на удаленных клиентов X11.

52
ответ дан 6 January 2015 в 14:25

Попробуйте firefox -no-remote

18
ответ дан 6 January 2015 в 14:25

Обратите внимание, я копал купол, так как это меня беспокоило, и вы можете просто добавить:

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

в свой профиль.

12
ответ дан 6 January 2015 в 14:25

Ibbrawżjar sempliċi mill-bogħod

Jekk tixtieq tibbrawżja l-internet lokalment bħallikieku kont bilqiegħda quddiem kaxxa remota:

$ ssh -X username@remote.example.com

imbagħad imexxi Firefox ġewwa l- sessjoni tat-terminal remot :

$ firefox https://test-ipv6.com/

Innota l-użu tal-bandiera -X fil-kmand ssh . Tista 'wkoll tagħmel iż-żewġ passi f'darba waħda, bħalma jidher hawn taħt:

$ ssh -X username@remote.example.com firefox http://test-ipv6.com/

Tunneling ta' IP remot: port

Jekk għandek applikazzjoni taħdem mill-bogħod li tesponi xi tip ta 'web frontend, tkun interessat li tesponi r-remote IP: port daqslikieku huwa IP lokali: port. F'dan il-każ, l-għażla -L tiddefinixxi korrispondenza bejn localhost: localport u remotehost: remoteport , kif muri fil-psewdo kmand hawn taħt:

ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost

Għal eżempju:

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com

imbagħad ħaddem Firefox lokalment :

$ firefox http://127.0.0.1:18080

Fl-eżempju ta 'hawn fuq, qed tikkonnettja permezz ta' SSH fuq (moħbi) u inti interessat fuq web frontend espost f ' internal.example. com: 8080 . Dan l-IP remot: il-port se jkun espost lokalment fi 127.0.0.1:18080 .

3
ответ дан 6 January 2015 в 14:25

Вы можете попробовать это, когда подключитесь к машине (ssh user@host; примечание: без опции -X), сначала введите следующую команду

export DISPLAY=:0 

, которая изменит дисплей по умолчанию на дисплей текущего экрана рабочего стола. А затем просто введите

firefox

, чтобы Firefox появился на экране рабочего стола. Убедитесь, что вы вошли на рабочий стол, без которого (без входа) вы получите следующую ошибку;

firefox: cannot connect to X server :0

Этот метод будет работать и для заблокированных рабочих столов. Пожалуйста, убедитесь, что Вы вошли на рабочий стол и в оболочку ssh с одинаковым именем пользователя .

Когда существует несколько сеансов работы с рабочим столом, каждый сеанс идентифицируется разным номером как :0, :1, :2 и др.

4
ответ дан 6 January 2015 в 14:25

Ни одно из других решений у меня не сработало, так что это было после небольшого поиска на других сайтах.

Вам нужно запустить firefox в отдельном процессе так же, как если бы вы делали все это на локальной машине. Используйте диспетчер профилей для создания нового профиля следующим образом.

export MOZ_NO_REMOTE=1
firefox -ProfileManager

Чтобы сохранить единообразие, я решил называть каждый новый профиль на внешней машине таким же, как имя хоста.

2
ответ дан 6 January 2015 в 14:25

Я просто добавлю то, что работало на меня. Просто используя 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 для включения компрессии.

0
ответ дан 6 January 2015 в 14:25

Другие вопросы по тегам:

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