AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 28608
Accepted
Mark B
Mark B
Asked: 2011-03-02 09:55:40 +0800 CST2011-03-02 09:55:40 +0800 CST 2011-03-02 09:55:40 +0800 CST

如何将安卓平板电脑用作第二个显示器?

  • 772

我注意到人们使用名为iDisplay的 Windows 和 Mac 产品,它可以让您将 Android 或 iPad 用作辅助显示器。这似乎是一个好主意,并且可以在 Ubuntu 上完成。不幸的是,我不知道如何开始。

你怎么能在 Ubuntu 上重新创建这个设置?

multiple-monitors
  • 14 14 个回答
  • 154275 Views

14 个回答

  • Voted
  1. Elijas Dapšauskas
    2016-03-27T10:53:31+08:002016-03-27T10:53:31+08:00

    以下是如何将 Android 用作第二台显示器、共享鼠标、在平板电脑和电脑屏幕之间拖动窗口。

    教程的原始来源可以在这里找到。

    A. 教程

    步骤 1. 创建一个新的虚拟监视器

    我的平板电脑的分辨率是 1280x1024。(如果您的平板电脑的分辨率不同,您可以更改1280命令1024中的任何位置。LVDS1如果默认显示器的名称不同,您可能还需要更改)。

    在终端中运行:

    1. $ gtf 1280 1024 60.

      输出中有一行类似于Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync。将单词后面的所有内容Modeline(排除它)复制到下一个命令中。

    2. xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

      (注意,在下一步中,您可能还需要将 VIRTUAL1 更改为您在 xrandr 输出中找到的内容作为新模式的输出)

    3. xrandr --addmode VIRTUAL1 1280x1024_60.00

    4. xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1

    步骤 2. 为虚拟显示器启用远程桌面

    启动 VNC:

    1. x11vnc -clip 1280x1024+0+0

    步骤 3. 连接到远程桌面

    1. 在与计算机相同的本地网络上获取平板电脑。通过连接到同一个 Wi-Fi 或使用一个设备创建热点,然后将另一个设备连接到该设备(USB Tethering)。

    2. ifconfig使用(从 LAN 连接时)查找计算机的 IP 。

    3. 将 VNC 应用程序下载到平板电脑,然后使用应用程序中的计算机 IP(并选择端口5900)连接到计算机。

    通知

    • 致谢:kjans,内容已编辑。
    • 警告:数据未加密!(与 Wi-Fi 和非 LAN 使用相关)
    • 警告:来自您连接的所有网络的设备可能会到达端口 5900,因此连接到您的显示器!位于路由器后面通常会限制它只能在您的本地网络中访问(如果您使用 USB 连接,您可以通过-listen <IP_ADDR>选项完全阻止本地网络x11vnc(<IP_ADDR>USB 网络接口在哪里))。
    • 两次运行 1 - 4 步骤中的任何一个都可能会输出错误。
    • 使用成功后,必须重复5.步骤才能再次连接。

    B. 脚本

    本教程作为脚本实现(更改 IP 以与 USB 电缆一起使用或删除它并取消注释与 Wi-Fi 一起使用的行)。

    #!/bin/bash
    W=1280
    H=800
    O=VIRTUAL1
    if [ "$1" == "create" ]; then
      gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
      # sed: get third line, delete 'Modeline', get first word, remove first and last characters
      gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode $O
      gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output $O --left-of LVDS1 --mode
    elif [ "$1" == "on" ]; then
      x11vnc -listen 192.168.42.149 -clip ${W}x${H}+0+0
      # For use in Wi-Fi LAN.
      #x11vnc -clip ${W}x${H}+0+0 #**WARNING** Unencrypted stream. VNC accessible without password through port 5900 in all internet interfaces.
    else
      echo "missing argument: [create | on]"
    fi
    
    • 39
  2. Best Answer
    Alistair Buxton
    2011-03-18T20:11:38+08:002011-03-18T20:11:38+08:00

    获取适用于 Android 的 VNC 客户端,在您的计算机上启动一个新的 VNC 服务器会话(不要只共享当前显示 - 使用 vnc4server 而不是 x11vnc),从 Android VNC 客户端连接到它,然后(聪明的一点)共享PC 键盘和鼠标在两个会话之间使用协同作用。

    执行此操作所需的所有软件都可以在 Ubuntu 端的标准存储库中获得,并且市场上有一些适用于 Android 的免费 VNC 客户端。

    您将无法使用此方法在显示器上拖动窗口。为此,我认为您需要使用 Xdmx 来绑定两个会话。这要困难得多,并且可能会导致您失去 3D 加速。

    另请注意,默认情况下 synergy 和 vnc 不使用加密,因此如果您不在受信任的网络上,则需要建立隧道连接。

    • 34
  3. chx
    2013-01-13T16:34:43+08:002013-01-13T16:34:43+08:00

    tl; 博士:xrandr --fb一起x11vnc --clip做一个杀手锏。
    更多 X11vnc 选项:-find, -clip, -display...-opts

    recognitium链接的帖子有一个非常有趣的想法,不确定他是否指的是这个,因为我找不到他指出的作者,也因为我跟进了那里的论坛帖子,我将单独发布而不是作为编辑:

    1. 首先,我们假设:主机的屏幕分辨率为 1280x800,您希望将桌面扩展到 VNC 的辅助机器的屏幕分辨率为 1280x1024,并且您希望扩展屏幕位于主屏幕的右侧。
      虚拟屏幕需要1280x800 + 1280x1024 = 2560x1024。(将其水平扩展并使垂直分辨率在两者中较大)所以运行xrandr --fb 2560x1024。

    2. 现在屏幕比你的主显示器大,你必须确保没有平移或任何其他不需要的“功能”被激活,并且你的主显示器左上角的坐标是 0x0。

    3. x11vnc -clip 1280x1024+1281+0加上任何其他 x11vnc 选项来品尝 :)

    这应该是它。

    • 19
  4. passick
    2013-06-11T23:19:15+08:002013-06-11T23:19:15+08:00
    1. 安装vnc4server和x2x.
    2. 然后,设置一个.vnc/xstartup配置文件。我的看起来像这样

      #!/bin/sh
      # Uncomment the following two lines for normal desktop:
      unset SESSION_MANAGER
      unset DBUS_SESSION_BUS_ADDRESS
      # exec /etc/X11/xinit/xinitrc
      
      [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      xsetroot -solid grey
      #vncconfig -iconic &
      #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
      #x-window-manager &
      exec gnome-session
      

      它启动 gnome-fallback 桌面(我不知道如何在 vnc 中启动 gnome 3)。

    3. 要启动 vnc 服务器,请使用vnc4server -geometry 800x480命令。当然,您必须设置平板电脑的分辨率,而不是 800x480。
    4. 启动x2x -east -to :1。该命令表示您的计算机就像 display :1 位于屏幕右侧一样(-west如果您希望它位于左侧,请使用选项)。您将无法将应用程序从一台显示器移动到另一台显示器,但您可以使用一个鼠标和一个键盘来控制它们。
    5. 连接到vnc4server从您的平板电脑创建的显示器(端口号是 5900 + 显示器号(例如对于显示器:1 端口号将是 5901)(显示器号显示在vnc4server的输出中))。
    6. 要退出x2x,请按Ctrl-C。或者,您可以在后台启动它 ( x2x -east -to :1 &)。然后,您首先需要将其移至前台 ( fg),或使用kill $!(小心,它会杀死在后台启动的最后一个进程) 将其杀死。
    7. 要删除创建的显示,请调用vnc4server -kill :1,而不是:1您可以设置新显示的编号。
    • 15
  5. Felix
    2012-09-17T11:41:39+08:002012-09-17T11:41:39+08:00

    这原则上可以使用xdmx(分布式多头 X),它允许您使用在不同机器上运行的两个 X 服务器创建单个桌面。

    原则上三种情况是可能的,但没有一个像 iDisplay 那样无缝,因为它们都至少需要重新启动您的 X-session。我无法让任何一个完美运行,但我运行的是 Ubuntu 10.10,并且由于各种原因无法升级。

    这三个是:

    1. 在 Android 上运行 X-server(应用商店中现在有两个可用)并用于xdmx与您的台式机或笔记本电脑显示器结合使用。- 对我不起作用,因为xdmx当指针移动到桌面的平板电脑部分时崩溃。

    2. 在您的计算机上运行带有 vnc 后端的第二个 X 服务器,xdmx用于将其与您的计算机屏幕组合成一个桌面,然后在平板电脑上使用 vnc 查看器查看虚拟部分 - 对我不起作用,因为xdmx需要所有 X-服务器具有相同的颜色视觉效果,而 VNC 服务器和真实显示器的情况并非如此,我无法说服vncserver进行更改。

    3. 运行两个 VNC 服务器,每个屏幕一个,然后将它们连接起来,xdmx并在各自的机器上使用 VNC 查看器查看每个部分。- 这最接近为我工作,不幸的是输入被搞砸了。它在 Wi-Fi 上的真彩色也很慢。我使用这个脚本来启动xdmx和两个实例vncserver:

      #!/bin/sh 
      vncserver :2 -geometry 1024x768 -depth 24 && \
      vncserver :3 -geometry 1920x1120 -depth 24 && \
      startx -- \
      /usr/bin/X11/Xdmx :1 \
      -input :2 \
      -display :2 \
      -display :3 \
      -ignorebadfontpaths \
      -norender \
      -noglxproxy \
      +xinerama \
      -nomulticursor
      vncserver -kill :2 
      vncserver -kill :3
      

    YMMV

    • 8
  6. Bumsik Kim
    2018-04-18T09:06:59+08:002018-04-18T09:06:59+08:00

    我制作了一个简单的 bash 脚本来让平板电脑成为第二个显示器。在我的博文中复制ipad_monitor.sh(别担心。它也适用于 Android)。

    与其他帖子的不同之处在于您可以非常轻松地使用附加参数设置第二个屏幕的位置。

    编辑:我在这里包括了原件ipad_monitor.sh。像这样运行这个命令:

    • ./ipad_monitor.sh --right或者./ipad_monitor.sh --left
    • ./ipad_monitor.sh --right --portrait
    • ./ipad_monitor.sh --right --portrait --hidpi

    该脚本的基本思想与其他脚本相同,正在运行xrandr,x11vnc但我包含了诸如您希望将屏幕附加到哪一侧的选项。

    #!/bin/sh
    # ----------------------------------------------------------------------------
    # "THE BEER-WARE LICENSE" (Revision 42):
    # <[email protected]> wrote this file. As long as you retain this notice you
    # can do whatever you want with this stuff. If we meet some day, and you think
    # this stuff is worth it, you can buy me a beer in return. - Bumsik Kim
    # ----------------------------------------------------------------------------
    
    # Configuration
    WIDTH=1024  # 1368 for iPad Pro
    HEIGHT=768  # 1024 for iPad Pro
    MODE_NAME="mode_ipad"       # Set whatever name you like, you may need to change
                                # this when you change resolution, or just reboot.
    DIS_NAME="VIRTUAL1"         # Don't change it unless you know what it is
    RANDR_POS="--right-of"      # Default position setting for xrandr command
    
    # Parse arguments
    while [ "$#" -gt 0 ]; do
      case $1 in
        -l|--left)      RANDR_POS="--left-of"  ;;
        -r|--right)     RANDR_POS="--right-of" ;;
        -a|--above)     RANDR_POS="--above"    ;;
        -b|--below)     RANDR_POS="--below"    ;;
        -p|--portrait)  TMP=$WIDTH; WIDTH=$HEIGHT; HEIGHT=$TMP
                        MODE_NAME="$MODE_NAME""_port"  ;;
        -h|--hidpi)     WIDTH=$(($WIDTH * 2)); HEIGHT=$(($HEIGHT * 2))
                        MODE_NAME="$MODE_NAME""_hidpi" ;;
        *) echo "'$1' cannot be a monitor position"; exit 1 ;;
      esac
      shift
    done
    
    # Detect primary display
    PRIMARY_DISPLAY=$(xrandr | perl -ne 'print "$1" if /(\w*)\s*connected\s*primary/')
    
    # Add display mode
    RANDR_MODE=$(cvt "$WIDTH" "$HEIGHT" 60 | sed '2s/^.*Modeline\s*\".*\"//;2q;d')
    xrandr --addmode $DIS_NAME $MODE_NAME 2>/dev/null
    # If the mode doesn't exist then make mode and retry
    if ! [ $? -eq 0 ]; then
      xrandr --newmode $MODE_NAME $RANDR_MODE
      xrandr --addmode $DIS_NAME $MODE_NAME
    fi
    
    # Show display first
    xrandr --output $DIS_NAME --mode $MODE_NAME
    # Then move display
    sleep 5 # A short delay is needed. Otherwise sometimes the below command is ignored.
    xrandr --output $DIS_NAME $RANDR_POS $PRIMARY_DISPLAY
    
    # Cleanup before exit
    function finish {
      xrandr --output $DIS_NAME --off 
      xrandr --delmode $DIS_NAME $MODE_NAME
      echo "Second monitor disabled."
    }
    
    trap finish EXIT
    
    # Get the display's position
    CLIP_POS=$(xrandr | perl -ne 'print "$1" if /'$DIS_NAME'\s*connected\s*(\d*x\d*\+\d*\+\d*)/')
    echo $CLIP_POS
    # Share screen
    x11vnc -multiptr -repeat -clip $CLIP_POS
    # Possible alternative is x0vncserver but it does not show the mouse cursor.
    #   x0vncserver -display :0 -geometry $DIS_NAME -overlaymode -passwordfile ~/.vnc/passwd
    if ! [ $? -eq 0 ]; then
      echo x11vnc failed, did you \'apt-get install x11vnc\'?
    fi
    
    • 6
  7. Paul ALBERT
    2020-01-11T10:08:50+08:002020-01-11T10:08:50+08:00

    只是想补充一点,如果您想在您的 android 设备和计算机之间建立更好的连接,您可以使用 USB:

    确保您已启用 USB 调试 ( https://developer.android.com/studio/debug/dev-options )

    然后通过安装 adbsudo apt-get install android-tools-adb

    然后,如果您的 VNC 服务器在您的计算机上的端口 5900 上运行,请使用 adb 和:

    adb 反向 tcp:5900 tcp:5900

    这样,您的计算机 5900 端口也可以通过您的 android 设备访问,localhost:5900因此配置您的 android VNC 客户端以连接到localhost:5900而不是your-computer-IP-addres:5900

    • 6
  8. user240760
    2017-03-01T11:40:17+08:002017-03-01T11:40:17+08:00

    TL;博士:

        $ sudo apt-get install x11vnc
        $ WINDOW_ID=$(xwininfo | awk '/Window.id/{print $4}') && x11vnc -viewonly -nopw -avahi -id $WINDOW_ID >/dev/null 2>&1 &
    

    现在,只需单击您要共享的窗口。


    满:

    我有一台 iPad 和 Chromebook,我想将它们用作我的显示器,以使用一些终端命令htop、、、iptstate等nmon。所以,我很懒惰,并使用:

    1. 包安装:sudo apt-get install x11vnc

    2. 打开一些终端,xwininfo | awk '/Window.id/{print $4}'然后在要共享的窗口中单击。输出将类似于:

       $ xwininfo | awk '/Window.id/{print $4}'
       0x4402f34
      
    3. 现在你可以开始你的x11vnc会话了:

       $ x11vnc -viewonly -nopw -avahi -id 0x4402f34 >/dev/null 2>&1 &
      
    4. 调整窗口大小 (0x4402f34) 以尽可能获得最佳图像。

    请注意会话的关联端口:, , ...5900 -> :05901 -> :15902 -> :2

    适用于 X11 应用程序:Firefox、OpenOffice 等。

    • 3
  9. mirage
    2013-02-09T13:25:04+08:002013-02-09T13:25:04+08:00

    我使用 xorg 虚拟驱动程序和 x11vnc -clip。鼠标点没有卡在边缘。

    sudo apt-get install xserver-xorg-video-dummy
    

    /etc/X11/xorg.conf第二个屏幕上有虚拟驱动程序:

    “设备”部分
            标识符“已配置的视频设备”
        驱动程序“radeon”#改变这个
    端部
    
    “监控”部分
            标识符“已配置的监视器”
    端部
    
    “屏幕”部分
            标识符“默认屏幕”
            监视器“已配置监视器”
            设备“已配置的视频设备”
    端部
    
    
    ##Xdummy:##
    “设备”部分
      标识符“Videocard0”
      司机“假”
      #VideoRam 4096000
      视频内存 256000
    端部
    
    ##Xdummy:##
    “监控”部分
      标识符“监视器0”
    # 水平同步 10.0 - 300.0
    # 垂直刷新 10.0 - 200.0
    # 显示尺寸 4335 1084
    端部
    
    ##Xdummy:##
    “屏幕”部分
      标识符“Screen0”
      设备“Videocard0”
      监视器“监视器0”
    端部
    
    
    
    “服务器布局”部分
      标识符“dummy_layout”
      屏幕 0“默认屏幕”
      “默认屏幕”右侧的屏幕 1“screen0”
        选项“Xinerama”“1”
    端部
    

    然后登录到 X 会话并运行:

    x11vnc -clip 1024x768+1280+0
    
    • 2
  10. LinuxNewb
    2014-01-10T17:01:18+08:002014-01-10T17:01:18+08:00

    这些说明是通过 VNC 客户端使用平板电脑或任何计算机为您的 linux 机器创建一个“附加”屏幕。

    我在 Mageia3 32 位(尚未尝试 64 位)中完成了这些步骤,但对于其他发行版(即 Ubuntu)也应该类似。

    使用以下终端命令确保您拥有所有必需的软件包:

    sudo apt-get install gcc autoconf automake x11-font-util libtool libxi-devel ibopenssl-devel libxfont1-devel libpam-devel x11-util-macros x11-xtrans-devel x11-server-xvfb x11-server-xdmx x11-server-devel x11-server-source
    

    拥有上述所有软件包后,发出以下命令:

    cd /usr/share/x11-server-sources/
    ./autogen.sh
    ./configure --with-fontrootdir=/usr/share/fonts --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/usr/share/X11/xkb/compiled --enable-dmx
    make
    

    如果您没有收到任何错误,请修补 Xdmx(简单地说,它已经“损坏”了一段时间):

    打开/usr/share/x11-server-sources/hw/dmx/input/dmxevents.c,并更改第 730 行:更改此:

    POINTER_ABSOLUTE | POINTER_SCREEN, &mask);
    

    对此:

    POINTER_RELATIVE | POINTER_DESKTOP, &mask);
    

    如果第 730 行不同,请使用此部分查找正确的行:原始部分 - 更改为标有 * 的行

        case ButtonPress:
        case ButtonRelease:
            detail = dmxGetButtonMapping(dmxLocal, detail);
            valuator_mask_zero(&mask);
            QueuePointerEvents(p, type, detail,
     *                         POINTER_RELATIVE | POINTER_DESKTOP, &mask);
            return;
    

    通过运行检查您的 Xdmx 版本./configure --version,/usr/share/x11-server-source/对于Xdmx 1.13和更早版本,您还必须进行这些更改(对于 1.14 和更新版本,您可以跳到下面的“制作”步骤):

    打开/usr/share/x11-server-sources/dix/getevents.c,第 1395 行:更改:

    if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */
    

    对此:

    if (flags & ( POINTER_SCREEN | POINTER_DESKTOP) ) {    /* valuators are in screen coords */
    

    (原始部分 - 标有 * 的更改行)

        /* valuators are in driver-native format (rel or abs) */
    
        if (flags & POINTER_ABSOLUTE) {
    *       if (flags & POINTER_SCREEN ) {    /* valuators are in screen coords */
                sx = valuator_mask_get(&mask, 0);
                sy = valuator_mask_get(&mask, 1);
    

    打开/usr/share/x11-server-sources/Xext/xtest.c,第 311 行:更改:

    flags = POINTER_ABSOLUTE | POINTER_SCREEN;
    

    对此:

    flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
    

    (原始部分 - 用 * 标记的更改行)

           case MotionNotify:
                dev = PickPointer(client);
                valuators[0] = ev->u.keyButtonPointer.rootX;
                valuators[1] = ev->u.keyButtonPointer.rootY;
                numValuators = 2;
                firstValuator = 0;
                if (ev->u.u.detail == xFalse)
    *               flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
                break;
    

    /usr/share/x11-server-sources/include/input.h,第 73 行:在以 开头的行之后添加此行#define POINTER_EMULATED:

    #define POINTER_DESKTOP         (1 << 7)
    

    进行上述修改后,重新执行(in /usr/share/x11-server-sources/):

    make
    

    你应该有一个新的 Xdmx 文件/usr/share/x11-server-sources/hw/dmx/。为了方便起见,我们需要在全球范围内安装它,所以我建议重命名您现有的:

    sudo mv /bin/Xdmx /bin/Xdmx-old
    

    并复制新的代替它:

    cp /usr/share/x11-server-sources/hw/dmx/Xdmx /bin
    

    现在您已准备好进行第一次试用,以下命令允许您保持主/现有显示器 ( :0) 运行并打开具有多显示器支持的新显示器。我将 icewm 与这些命令一起使用以使其更轻量级(我在主显示器上使用 KDE,:0并在新的多头显示器中打开任何大型多显示器应用程序)。您绝对可以编写这些命令以便于使用(这就是我所做的)——这些命令中的任何一个都可以在任何显示器的控制台和/或终端窗口上执行,唯一的要求是它们按顺序执行。

    此命令将您的新显示器创建为 VNC 显示器的帧缓冲区:2(根据需要调整屏幕大小):

    Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
    

    这将在您的物理显示器上启动一个新的轻量级 X 会话作为显示器:1(有不同的方法可以做到这一点):

    startx 'icewm' -- :1
    

    此命令启动物理屏幕和虚拟屏幕之间的多显示器,并为窗口管理器启动 icewm:

    Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm
    

    现在打开一个终端窗口并启动 vnc 服务器(根据需要更改密码):

    x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe &
    

    现在唯一要做的就是启动您的 VNC 客户端并连接到您的 VNC——您可能需要禁用或添加防火墙例外到端口 5900,以便您可以连接到它。要记住的另一件事是,一些 VNC 客户端不显示远程光标位置,我证明如果您关闭选项“本地鼠标”,适用于 iOS 的“Mocha VNC”效果很好。

    享受在主显示器和新的虚拟第二显示器之间拖动窗口的乐趣(同时还可以使用平板电脑在第二显示器中单击/键入内容)。

    要关闭 Xdmx,请按Ctrl+ Alt+Backspace两次。

    自动化:

    我使用这个 bash 脚本来启动整个过程(在退出时也会杀死 Xvfb):

    Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
    xinit dual -- :1
    ps | grep Xvfb | awk '{print $1}' | xargs kill
    

    然后我有一个自定义~/.xinitrc文件:

    #!/bin/sh
    #
    # ~/.xinitrc
    #
    # Executed by startx (run your window manager from here)
    
    if [[ $1 == "" ]]
    then
      exec startkde 
    elif [[ $1 == "xterm" ]]
    then
      exec xterm
    elif [[ $1 == "dual" ]]
    then
      exec Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm & x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe
    else
      exec $1
    fi
    

    故障排除:

    • 运行 Xdmx 时,如果您收到错误提示sh: /usr/local/bin/xkbcomp: No such file or directory您可能需要执行 execute: cd /usr/local/bin" and "ln -s /bin/xkbcomp,然后再次尝试 Xdmx。

    • Ctrl+ Alt+ F1throughF7应该可以在 Xdmx 中工作以切换到其他控制台/xsession,但由于某种原因它不起作用,我所做的只是执行sudo chvt X(其中 X 是控制台/xsession 编号)以切换到我的主显示器。此外,当您切换回 Xdmx 时,您可能会在任何打开的窗口上遇到一些绘图问题,我只需单击任务栏以再次隐藏/显示窗口,从而强制重绘。

    • 1

相关问题

  • 如何设置一纵一横两屏?

  • gnome-mplayer 使用 xineramascreen 选项在第二个屏幕上播放

  • 使用带有两屏设置的 Ubuntu

  • 自 10.04 起,笔记本电脑的扩展显示器显示摇晃/波动的图像 [关闭]

  • 有没有办法在 Ubuntu a la Windows 中拥有扩展桌面?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve