su
использует оболочку, указанную в / etc / passwd
.
Вам не нужно использовать su
с sudo
.
Поэтому не смешивайте su
с sudo
: используйте sudo -u secure '/home/someuser/secure.script'
.
Я нашел решение для рабочего стола MATE в системе CENTOS7. Для учетной записи пользователя в целевой системе замените следующее в ~ / .vnc / xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
на:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc
/usr/bin/mate-session
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
Перезагрузил целевой компьютер, и все работает, как ожидалось.
Это просто способ заставить его работать. Я все еще хотел бы узнать, какие именно строки выше (если не все) абсолютно необходимы для желаемых результатов.
Необходимо изменить настройку в файле.vnc/xstartup с помощью
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title
"$VNCDESKTOP Desktop"&
mate-session &