如果连接了外接显示器,如何在启动时自动关闭内部屏幕?

如果连接了外接显示器,如何在启动时自动关闭内部屏幕?

有谁能为新手提供解决方案?我使用 HDMI 将笔记本连接到外接显示器。由于我不使用笔记本,所以我关闭了屏幕。Ubuntu 15.04 在重启后记住了此设置,但使用 15.10 时我每次都必须更改此设置。有人知道如何修复此问题吗?

答案1

该问题肯定是由错误导致的,但登录后很容易修复。

该怎么办

  1. 将以下脚本复制到一个空文件中,并将其另存为set_screen.py

    #!/usr/bin/env python3
    import subprocess
    import time
    
    #--- set the name of your internal screen below
    internal = "DVI-I-1"
    #---
    
    time.sleep(10)
    
    extr = [l.split()[0] for l in subprocess.check_output("xrandr").decode("utf-8").splitlines() if " connected" in l\
           and not internal in l]
    if extr:
        subprocess.Popen(["xrandr", "--output", internal, "--off", "--output", extr[0], "--auto"])
    
  2. 获取内部屏幕的名称:打开终端窗口:按Ctrl+ Alt+ T,然后输入命令

    xrandr
    

    然后按Enter。在输出的行中,有一行如下所示:

    DVI-I-1 connected 1680x1050+0+0 (normal left inverted right x axis y
    

    您需要查看第一个字符串,例如DVI-I-1,这是您的内部屏幕的名称(显然,您不会选择其中的那个HDMI:))

  3. 在脚本头部的以下行中输入找到的名称:

    internal = "DVI-I-1"
    

    引号之间,如示例中所示。

  4. 使用以下命令测试运行脚本(再次从终端窗口):

    python3 /path/to/set_screen.py
    

    (显然您需要用/path/to实际路径替换)十秒后,内部屏幕应该关闭,而外部屏幕保持不变。

  5. 如果一切正常,将其添加到启动应用程序:打开 Dash > 启动应用程序 > 添加。添加命令:

    python3 /path/to/set_screen.py
    

从现在开始,登录后几秒钟内,您的内部屏幕将关闭。

相关内容