Запуск программ от имени другого пользователя (в частности кде программ)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Den001
Сообщения: 666
ОС: Suse 11

Запуск программ от имени другого пользователя

Сообщение Den001 »

Суть проблемы такова. Хочу запустить kde программу, например, kmail, от имени другого пользователя в своем логине. Нужно для того, чтобы не перелогиниваться в другого пользователя для проверки почты. sudo -u выдает следующее - ERROR: KUniqueApplication: Can't determine DISPLAY. Aborting.
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Запуск программ от имени другого пользователя

Сообщение Warderer »

Задавайте явно переменную $DISPLAY, просто при sudo вы оказываетесь в сеансе другого пользователя, от которого не запущены иксы, и , соответственно, переменная $DISPLAY не определена.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
rubtsov
Сообщения: 140
ОС: Slackware

Re: Запуск программ от имени другого пользователя

Сообщение rubtsov »

user1 - владелец x-сессии, надо запустить X-приложение (xterm) от имени user2

1.Небезопасно:
user1$ xhost +
user2$ DISPLAY=:0 xterm
отключить: user1$ xhost -

2.Безопасно:
user1$ xauth nextract /tmp/xa $DISPLAY; chmod +r /tmp/xa
user2$ xauth nmerge /tmp/xa; DISPLAY=:0 xterm --- выполнять в "чистой" консоле, а не в эмуляторе после команды `su user2`

3. или для kde:
user1$ kdesu -u user2
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: Запуск программ от имени другого пользователя

Сообщение Den001 »

На счет xhost, там можно разрешитть только со своего ip подключаться. Вечером попробую. А можно как-нибудь через login сделать? у меня на login <user2> выдает, что локальные политики не разрешают этого. Или это все равно что через sudo получится?
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: Запуск программ от имени другого пользователя

Сообщение Den001 »

rubtsov писал(а):
15.01.2007 10:50
user1 - владелец x-сессии, надо запустить X-приложение (xterm) от имени user2

1.Небезопасно:
user1$ xhost +
user2$ DISPLAY=:0 xterm
отключить: user1$ xhost -

2.Безопасно:
user1$ xauth nextract /tmp/xa $DISPLAY; chmod +r /tmp/xa
user2$ xauth nmerge /tmp/xa; DISPLAY=:0 xterm --- выполнять в "чистой" консоле, а не в эмуляторе после команды `su user2`

3. или для kde:
user1$ kdesu -u user2

Спасибо, 3-й вариант меня вполне устроит.
Спасибо сказали: