如何为双显示器定制一个会话,并为单显示器定制另一个会话?

如何为双显示器定制一个会话,并为单显示器定制另一个会话?

我在笔记本电脑上运行 Ubuntu。大约 75% 的时间,我工作时会连接第二台显示器。其余时间我只使用笔记本电脑屏幕运行。我可以使用双显示器配置面板(以及一些杂项,如 Conky),但当我使用笔记本电脑运行时,所有内容看起来都很乱(多个顶部和底部面板等)。如果我为单个显示器设置了所有内容,那么当我使用双显示器时,所有内容都不会设置。

我想要做的是能够定义用户可选择(或自动选择)的 gnome 面板之类的东西来解决这个问题。

这可能吗?如果可以,我该从哪里开始?

答案1

我使用两个脚本来使用我的笔记本显示器或外接显示器。也许你可以将它们用作起点。

注意:我的笔记本电脑有 nvidia 显卡,所以我必须使用 disper 而不是 xrandr。

切换到外部显示器并将 gnome-panel 设置为显示器 1 的脚本:

#!/bin/sh
disper --displays=auto -e
lines=`disper -l|wc -l`

display_count=$((lines / 2))

if [ $display_count = 1 ] ; then

   gconftool-2 \
        --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
        --type integer "0"
   disper -s
else
   gconftool-2 \
        --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
        --type integer "1"
   disper -S

fi

切换回 Notebook-monitor 的第二个脚本:

#!/bin/sh
 disper -s  
 gconftool-2 \
        --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
        --type integer "0"

答案2

有人可能希望修饰这个答案,但我希望它作为一个起点很有用,并且可能涉及一些学习。

  1. 您的面板设置存储在 GNOME 设置中的 /home/user/ 目录中的某个位置。可能是 .gconf/ 或 .gnome2/,您可以通过打开终端并键入ls -a或在您的主目录中按 nautilus 中的 ctrl+h 来查看这些目录。希望如果您在那里和互联网上搜索,您应该能够在文件中找到它们。

  2. 一旦您知道文件时要使用单显示器设置对其进行复制,然后插入外接显示器并重新设置所有内容并再次进行复制。

  3. 最后,您可以编写一个脚本,该脚本在登录后直接运行并检查是否插入了外部显示器(或者只是查看有多少个显示器),然后在 GNOME 启动之前将相关的配置文件复制到位,希望一切都看起来应该正常。

不幸的是,我不知道相关配置设置的具体位置,也不知道如何在脚本中检查外部显示器,其中一些取决于您习惯使用的脚本语言(如果您不习惯任何脚本语言,我建议您只使用 bash 脚本,或者可能是 python)。祝你好运!

相关内容