最流行的 DE 如何处理外部显示器连接?

最流行的 DE 如何处理外部显示器连接?

我最近从使用 Cinnamon 桌面环境转向 i3wm(我知道这是一个很大的飞跃)。我立即注意到的第一件事是 i3 不会自动处理外部显示器连接。我花了一些时间谷歌搜索,发现所有修复都建议通过某种形式手动连接外部输出xrandr(写入xrandr --output …i3 配置文件;或在后台运行脚本,检查外部显示器是否正常)再次,每 5 秒连接一次xrandr——这只是糟糕的编程)。

同时,我尝试过的所有 DE 都自动处理外部显示器连接:您只需插入显示器,它就会立即打开。

然后出于好奇,我开始检查其他流行的 DE,并注意到 xfce 的行为方式与 i3 相同。

这是我的问题。 KDE 和 Gnome 如何自动处理外部显示器连接?为什么 i3 和 xfce 的行为方式不同?也许,i3 和 xfce 中都缺少某种监视器连接事件? i3 是否可以实现类似于 KDE 和 Gnome 的行为?

答案1

i3wm 只是一个窗口管理器,而不是桌面环境。这就是 Gnome 和 i3wm 的不同之处:与管理窗口没有直接关系的事情与它无关。插入屏幕、在网络断开时向您显示、启动声音服务器:这不是 i3 能完成的工作。

但是:我无法确认 XFCE 不会立即识别插入的显示器;正如 Artem 在您的评论中一样,这对我来说是开箱即用的,就像它在 Gnome、KDE、Cinnamon 上一样。

因此,您需要一个以 i3wm 作为窗口管理器的桌面环境!我以前也做过类似的事情,将awesomewm 与cinnamon 会话或xfce4 结合起来(但随后您需要找出XFCE 出了什么问题)。两者都有效;我目前正在使用 cinnamon 会话在 Awesomewm 上打字。

设置起来非常简单:

  1. 安装肉桂
  2. 新建一个文件/usr/share/cinnamon-session/sessions/cinnamon-i3wm.session,内容
    [Cinnamon Session]
    Name=Cinnamon i3wm
    RequiredProviders=windowmanager;
    DefaultProvider-windowmanager=i3
    
    应该属于root,可以被root写入并且可以被所有人读取,即。0644

我想这就是全部了,因为 i3 软件包通常会安装/usr/share/applications/i3.desktop;它缺失了,它应该是这样的:

[Desktop Entry]
Type=Application
Name=i3
NoDisplay=true
GenericName=A dynamic tiling window manager
Comment=improved dynamic tiling window manager
Exec=i3
X-GNOME-WMName=i3
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=false

重新启动登录管理器(可能最简单的方法是重新启动),然后选择“Cinnamon i3wm”会话。

相关内容