如何在 XFCE 内部切换用户?

如何在 XFCE 内部切换用户?

我正在使用 xubuntu 11.10。我希望能够切换用户,并且我希望能够在 xfce 用户界面中执行此操作。我读到过某处可能有我可以安装的小程序,但我似乎找不到它。有人可以帮忙吗?

答案1

在此处输入图片描述

在终端中:

sudo apt-get install xfswitch-plugin

在安装过程中,它会要求您切换窗口管理器 - 不要选择 GDM,而是坚持使用 lightdm。注意:由于它是一个文本屏幕,请按TAB导航到“确定”,然后按ENTER

右键单击并添加新的面板项 -用户切换

答案2

如果你不想引入整个 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/

然后在面板上添加一个启动器插件,编辑菜单并单击带有加号的白纸按钮,在那里你只需输入快速用户切换(如果你正确地执行了上述步骤,它应该会在你输入时自动完成),并选择一个漂亮的图标(搜索switch合适的图标...)

注意:XFCE 的下一个版本 4.10 将在操作插件中包含一个切换用户按钮,并且弃用会话菜单

注意:如果您使用的是 kdm 而不是 gdm/lightdm(kdm+xfce 可能是一个奇怪的组合,但确实存在),4.10 切换用户按钮将不起作用。但是,以下 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

答案3

您可以点击顶部面板中的用户名,然后选择“锁定屏幕”。从锁定屏幕中选择“新登录”,它将带您返回 LightDM 屏幕,您可以在其中点击其他用户名并输入密码。第一个用户仍然处于登录状态,您可以通过这种方式来回切换。

答案4

gdmflexiserver 对我来说不起作用,因为它不在我的系统中。

我改用 dm-tool: https://bugs.launchpad.net/ubuntu/+source/xfswitch-plugin/+bug/1320560

相关内容