Ну, просто для завершения ответа, перезагрузка сделала трюк для меня после выполнения следующих действий:
Я перешел на системные настройки -> клавиатура -> ярлыки, и почти все они были отключены , Я назначил «Alt + Tab» для «Переключение приложений». Тогда даже если проблема, указанная в одном из приведенных выше комментариев, сохраняется, перезагрузка решила проблему, и я могу без проблем переключаться между окнами.
Изменить: Иногда вам приходится перезагружаться несколько раз.
Команда sux (см. man sux) позаботится об этом для вас и принимает тот же синтаксис, что и su.
sux - nextuser
gedit test.c
Это автоматически гарантирует правильность .Xauthority, поэтому вам не нужно запускать какие-либо команды для авторизации вручную.
Графические приложения имеют тенденцию записывать файлы конфигурации в ваш домашний каталог, и если вы запускаете их как другого пользователя, сохраняя $HOME, они попытаются записать файлы конфигурации в качестве этого пользователя в вашем домашнем каталоге. Это приведет к неспособности записать конфигурацию или настройку, которая будет испорчена для исходного пользователя (или некоторая комбинация из двух). Вот почему рекомендуется использовать флаг - с sux (или su) при запуске графических приложений. (Для sudo вместо этого вы можете использовать sux , например gksu / gksudo и kdesudo.)
Вы можете использовать gksu в ваш (с флагом -w), чтобы запустить команду как другой пользователь (с флагом -u):
gksu -w -u nextuser gedit test.c
Однако вам все равно придется сначала запустить xhost local:nextuser (как описано в gksu ), чтобы это работало. Это вряд ли понадобится, если вы используете sudo-mode, но тогда вы можете сделать это только в том случае, если вы являетесь администратором (и вы будете аутентифицироваться с помощью пароля, а не пароля nextuser, поскольку sudo скорее чем su является бэкэнд):
gksu -u nextuer gedit test.c
Вы можете просто захотеть запустить графическую программу терминала (это оболочка запускается «внутри») как другой пользователь.
Вы можете использовать те же методы, которые были описаны выше, для запуска gedit в качестве другого пользователя.
gksu -w -u nextuser gnome-terminal
gksu -u nextuser gnome-terminal
Используйте параметр -p с su для сохранения переменных среды, включая DISPLAY; поочередно задайте его явно с помощью export или префикс его для каждой команды.