Как я могу переключать пользователей из XFCE?
Я использую xubuntu 11.10. Я хотел бы иметь возможность переключать пользователей, и я хотел бы иметь возможность делать это в пользовательском интерфейсе xfce. Я где-то читал, что может быть апплет, который я могу установить, но я не могу его найти. Может кто-нибудь помочь?
6 ответов
В терминале:
sudo apt-get install xfswitch-plugin
Во время установки вам будет предложено переключить оконный менеджер - не выбирайте GDM, а придерживайтесь lightdm. NB, так как текстовый экран, нажмите TAB, чтобы перейти к "OK" и нажмите ENTER
Щелкните правой кнопкой мыши и добавьте новый элемент панели - Переключение пользователей.
Если вы не хотите вводить весь gdm и зависимости, вы можете просто создать средство запуска, которое достигает того же самого. Положи это
#!/bin/sh
zenity --question --text "Switch user?" --title "New login" &&
gdmflexiserver --new
в файл с именем fast-user-switch
тогда делай
chmod +x fast-user-switch
sudo mv fast-user-switch /usr/local/bin/
Затем добавьте плагин Launcher на панель, отредактируйте меню и нажмите кнопку с белой бумагой с плюсом, там вы можете просто набрать fast-user-switch (он должен автоматически завершаться при вводе, если вы сделали последние шаги правильно), и выберите хороший значок (поиск switch
для примерки…)
Примечание. Следующая версия XFCE, 4.10, будет включать кнопку "Переключить пользователя" в плагине "Действия" и не использовать меню сеанса.
Примечание к примечанию: если у вас есть kdm вместо gdm/lightdm (kdm+xfce может быть нечетной комбинацией, но это случается), кнопка 4.10 Switch User не работает. Однако работает следующий скрипт bash, который дополнительно позволяет вам войти в систему как пользователь, вошедший в систему в данный момент, или начать новый вход в систему:
#!/bin/bash
set -f # no globbing, so we can safely use *
# other_local[joe]=:0, other_local[bob]=:1 etc. for all active local
# users other than us:
unset other_local; declare -A other_local;
while read -rd $'\t'; do
IFS=$',\n' r=($REPLY)
[[ "${#r[@]}" -ge 4 && "${r[4]}" != '*' && "${r[2]}" != '' && "${r[0]}" != '' ]] && other_local[${r[2]}]=${r[0]}
done < <(kdmctl list alllocal)
IFS=$',\n' r=($REPLY)
[[ "${#r[@]}" -ge 4 && "${r[4]}" != '*' && "${r[2]}" != '' && "${r[0]}" != '' ]] && other_local[${r[2]}]=${r[0]}
user_choice=$( printf "%s\n" "${!other_local[@]}" "New login" |\
zenity --list --column User --text 'Switch to an active user, or start a new login:' --title 'Switch user?' ) || exit 1
case $user_choice in
"New login" ) kdmctl reserve ;;
* ) kdmctl activate "${other_local[$user_choice]}" ;;
esac
Вы можете щелкнуть свое имя пользователя на верхней панели и затем выбрать "Блокировка экрана". На заблокированном экране выберите "Новый вход", и вы вернетесь к экрану LightDM, где вы можете щелкнуть другое имя пользователя и ввести пароль. Первый пользователь все еще вошел в систему, и вы можете переключаться туда и обратно таким образом.
Экран блокировки и при появлении запроса на вход нажмите "Новый вход".
(Работает на 12.04, но, вероятно, работает и на 11.10)
Вызов dm-tool с опцией 'lock' или 'switch-to-greeter' сделает сеанс xfce4 уязвимым для входа в систему без пароля, как показано в следующем отчете об ошибке: https://bugs.launchpad.net/lightdm/+bug/904006.
Вместо того, чтобы преследовать ошибку, разработчики, похоже, направляют людей на использование light-locker, который прост в использовании и настроен с безопасными настройками по умолчанию.
Следующее исправление гарантирует, что опция "переключить пользователя" на панели xfce4 вызовет light-locker. Нет необходимости создавать плагин для запуска или устанавливать дополнительное gnomeware.
(1) Установите light-locker (в моем случае из стабильного репозитория Debian 8/Jessie).
(2) Замените /usr/local/bin/gdmflexiserver на:
#!/bin/bash
light-locker-command -l
# [End]
(3) перезагрузка (полное выключение и перезапуск, требуется только один раз, чтобы панель активировала опцию "переключить пользователя" - у вас могут быть более разумные способы сделать это).
Каждый раз, когда я нажимаю на пункт меню "переключить пользователя", перед тем, как появляется логин, на черном экране появляется небольшая пауза, которой нет, когда я использую dm-tool, но хорошо знать, что моя сессия полностью заблокирована.
Спасибо pomidorabelisima по адресу https://bugs.launchpad.net/ubuntu/+source/xfswitch-plugin/+bug/1320560 (повторяющийся отчет об ошибках) за хедз-ап.
gdmflexiserver не работает для меня, потому что его не было в моей системе.
Вместо этого я использовал dm-tool: https://bugs.launchpad.net/ubuntu/+source/xfswitch-plugin/+bug/1320560