По соображениям безопасности я хотел бы запустить Firefox под другой (непривилегированной) учетной записью. Я думал, что это будет так же просто, как настроить пользователя, а затем запустить его с gksudo
, но похоже, что это еще не все. Что я делаю не так?
tkn@tkn-desktop-ubuntu $ sudo useradd tkn-firefox
tkn@tkn-desktop-ubuntu $ gksudo -u tkn-firefox firefox
No protocol specifiedError: cannot open display: :0.0
Я предполагаю, что пользователь по какой-то причине не получает доступа к X11, но не должен gksudo
сделай это?
С помощью 'xhost +
'- плохая привычка. Если у вас возникла проблема с X11 и «не удается открыть дисплей ??:?», Используйте xauth
обмениваться файлами cookie и устанавливать DISPLAY
переменная в новом окружении.
В этом случае я добился успеха на Ubuntu 9.04, получив gksu
делать тяжелую работу. (У меня не получилось, пока я не добавил --su-mode
)
$ gksu --su-mode -u tkn-firefox firefox
Он действительно выплевывает сообщение о "Warning: Tried to connect to session manager, None of the authentication protocols specified are supported
'но, похоже, работает иначе.
Я считаю, что мне нужно сделать "xhost +" (если в вашей сети есть еще потенциальные клиенты X, будьте более избирательны) и не «су -», просто «су». Я не особо задумывался, почему это могло быть, но у меня это работает нормально.