У каждого другого пользователя есть другой домашний каталог.
Все они настроены в файле /etc/passwd. Вы должны выйти и вернуться после редактирования этого файла, чтобы изменения в домашней папке вступили в силу. Если вы не являетесь продвинутым пользователем, я бы вообще не рекомендовал редактировать этот файл, но я упомянул об этом на случай, если вам будет интересно просмотреть его и узнать, как это работает.
Дом пользователя «root» напрямую устанавливается по умолчанию /root, тогда как обычные каталоги обычных пользователей по умолчанию устанавливаются на /home/*username*. Обычно нет никакой причины переместить домашний каталог.
При запуске графической программы с привилегиями root с помощью gksu / gksudo ваш домашний каталог обычно будет отображаться как /root (это объясняет, почему ). Это нормально, и только потому, что вы используете привилегии root (которые вам редко нужно использовать, если вы правильно настроили все).
Заметьте, я купил копание, так как это меня исказило, и вы также можете добавить:
MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE
в свой профиль.
Вы можете попробовать это, когда вы подключились к машине (ssh user@host; обратите внимание: без опции -X), сначала введите следующую команду
export DISPLAY=:0
, это изменит отображение по умолчанию на то, что текущий экран рабочего стола. А затем просто введите
firefox
, чтобы firefox появился на рабочем столе. Убедитесь, что вы вошли в рабочий стол, без которого (без входа в систему) вы получите следующую ошибку;
firefox: cannot connect to X server :0
Этот метод будет работать и для заблокированных рабочих столов. Убедитесь, что вы вошли в систему на рабочем столе и в оболочке ssh с тем же именем пользователя.
Когда есть несколько сеансов рабочего стола, каждый сеанс идентифицируется другим номером как :0, :1, :2 и т. д.
Ни один из других решений не работал для меня, так что это было после небольшого поиска на других сайтах.
Вам нужно запустить firefox в отдельном процессе так же, как если бы вы делали все это на локальной машине. Используйте профиль-менеджер для создания нового профиля следующим образом:
export MOZ_NO_REMOTE=1
firefox -ProfileManager
Чтобы все было согласовано, я решил назвать каждый новый профиль на внешней машине таким же, как имя хоста.
Я просто добавлю, что сработало для меня. Просто с помощью 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 для включения сжатия.
Если вы хотите просматривать веб-сайт локально, как если бы вы сидели перед удаленным ящиком:
$ 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.