多年来,我一直使用 Terminator 作为我的默认终端。最近我发现需要sudo
运行 docker 命令,并且在调试时发现系统上的终端仿真器(Terminator、MATE Terminal、Xfce Terminal、XTerm)启动时没有加载我的许多用户组。
在这些模拟器中,运行groups
可得到以下结果:
mark@mypc:~$ groups
mark
但是,当我groups
在 Gnome 终端中运行时:
mark@mypc:~$ groups
mark adm cdrom sudo dip plugdev lpadmin sambashare docker
我尝试过 apt remove & purge terminator,并重新安装,结果相同。从 Gnome Terminal,我可以运行 docker 命令而无需 sudo(这是我最初的目标)。但是我更愿意继续使用 terminator 作为我的默认模拟器。那么,如何让终端模拟器在启用所有用户组的情况下启动?
我尝试过 apt remove & purge terminator,并重新安装,结果相同。但是,当我使用 Gnome Terminal 启动 Terminator 时,terminator 会从我的所有用户组启动。
我正在使用带有 cinnamon 桌面环境的 Ubunutu 18.04。提前致谢!
损坏的终结器实例中的 pstree 输出:
mark@mypc:~$ pstree -sp $$
systemd(1)───terminator(26282)───bash(26291)───pstree(26578)
Gnome 终端 (工作中) 中 pstree 的输出:
mark@mypc:~$ pstree -sp $$
systemd(1)───systemd(3363)───gnome-terminal-(30711)───bash(22983)───pstree(24955)
答案1
我尝试了这里提出的解决方案:https://unix.stackexchange.com/a/454715/292253,问题已解决。总结如下:
我刚刚注释掉了以下几行
/etc/pam.d/lightdm
auth optional pam_kwallet.so auth optional pam_kwallet5.so
并重新启动
感谢大家的帮助!