标签: xrandr

Xrandr错误.BadName(命名颜色或字体不存在)

我成功地使用xrandr在我的工作场所使用这个小"脚本"扩展我的桌面.

#!/bin/sh

xrandr --newmode 1920x1080  220.64  1920 2056 2264 2608  1080 1081 1084 1128  -HSync +Vsync
xrandr --addmode VGA 1920x1080
xrandr --output VGA --mode 1920x1080
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,直到有一天神奇地停止工作.当我尝试使用它.我刚收到这条消息.

X请求失败的错误:BadName(命名颜色或字体不存在)

笔记本电脑显示屏以奇怪的方式调整大小,但扩展显示器没有任何反应.

我已经恢复了gnome桌面默认配置.我改变了字体配置,我尝试了其他布局和监视器,但总是发生相同的.

screen xrandr

49
推荐指数
2
解决办法
6万
查看次数

如何添加缺少的RANDR扩展

我已经在我的无头服务器上设置了xvfb服务器,当我运行DISPLAY =:99 firefox时,我得到这个异常缺少RANDR扩展

他们中的许多人说要从xorg.conf文件中禁用一些xinerna,但是在我的情况下没有创建这个文件.

所以我正在寻找如何添加缺少的RANDR扩展.

x11 headless xrandr xvfb

32
推荐指数
2
解决办法
10万
查看次数

调整Xvfb显示的大小

简单问题:有没有办法调整Xvfb显示的大小?

我尝试使用RandR,但似乎Xvfb不支持RandR扩展.还有其他方法可以调整屏幕大小吗?

谢谢你的帮助!

x11 vnc xrandr vnc-server xvfb

18
推荐指数
2
解决办法
1万
查看次数

xrandr相关,C编程

以下是对xrandr的示例调用:

$ xrandr --output LVDS --mode 1680x1050 --pos 0x0 --rotate normal --output S-video --off --output DVI-0 --mode 1024x768 --pos 1680x104 --rotate normal

想想一个呼叫成功的系统; 有两个屏幕(LVDS和DVI-0)使用不同的分辨率.DVI-0在右侧放置在中间.

如何在C程序中获取所有这些信息?我检查了xrandr源代码,但我发现很难阅读,并且没有明显的方法来查询--pos值(编辑:它隐藏在明显的视线中,感谢ernestopheles的回答我得到了它).

我知道我可以用XGetWindowProperty问一个_NET_WORKAREA,但据我所知,它并没有告诉屏幕位置,只是包含它们的理想矩形的大小.

在对xrandr代码进行了一些其他研究之后,这段代码似乎向前迈进了一步.但我不相信,第2940行的xrandr.c假定crtc_info可能不可用.我仍然想念获得分辨率和位置的另一种方式.


    #include <stdio.h>
    #include <X11/extensions/Xrandr.h>

    int main() {
        Display *disp;
        XRRScreenResources *screen;
        XRROutputInfo *info;
        XRRCrtcInfo *crtc_info;
        int iscres;
        int icrtc;

        disp = XOpenDisplay(0);
        screen = XRRGetScreenResources (disp, DefaultRootWindow(disp));
        for (iscres = screen->noutput; iscres > 0; ) {
            --iscres;

            info = XRRGetOutputInfo (disp, screen, screen->outputs[iscres]);
            if (info->connection == RR_Connected) {
                for (icrtc = …

c x11 screen xrandr

10
推荐指数
2
解决办法
3800
查看次数

谷歌浏览器无法在xvfb中运行,因为缺少扩展名"RANDR"

我尝试在xvfb显示屏上运行Google Chrome,但google显示有关RANDR扩展程序的错误.问题是我将RANDR添加到xvfb并加载它.所以我的步骤是:

  1. 使用命令运行xvfb服务器:

    Xvfb :1 -screen 0 1280x1024x24 +extension RANDR

  2. 此命令为我输出成功加载的RAND模块

    Initializing built-in extension Generic Event Extension
    Initializing built-in extension SHAPE
    Initializing built-in extension MIT-SHM
    Initializing built-in extension XInputExtension
    Initializing built-in extension XTEST
    Initializing built-in extension BIG-REQUESTS
    Initializing built-in extension SYNC
    Initializing built-in extension XKEYBOARD
    Initializing built-in extension XC-MISC
    Initializing built-in extension SECURITY
    Initializing built-in extension XINERAMA
    Initializing built-in extension XFIXES
    Initializing built-in extension RENDER
    Initializing built-in extension RANDR
    Initializing built-in extension COMPOSITE
    Initializing built-in extension DAMAGE
    Initializing built-in extension …

google-chrome xrandr xvfb

9
推荐指数
1
解决办法
4019
查看次数

xrandr 根本不显示 HDMI

我有一台配备 NVIDIA GT555M GPU 的笔记本电脑 (Asus N55SF),安装了 Elementary OS(基于 Ubuntu)。我安装了 Bumblebee,带有 NVIDIA 驱动程序,可以正常工作。(optirun glxspheres 比 glxspheres 具有更高的 fps)

当我将显示器连接到 VGA 适配器时,一切正常。但是,当我尝试连接 HDMI 设备时,没有任何反应。HDMI 端口可在 Windows 7 和 8 上运行,因此不可能是硬件故障。

奇怪的是,当我运行 xrandr 时,我得到以下输出:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080      60.0*+   59.9  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864 …
Run Code Online (Sandbox Code Playgroud)

nvidia xrandr hdmi

9
推荐指数
1
解决办法
1万
查看次数

Linux中的扩展桌面

我的目标是在Windows中拥有一个扩展的桌面.Linux只使用我的第二台显示器作为镜像,这是没用的.我在google和SO上搜索了很多东西以获得正确的方法.我希望linux将我的显示器用于一个扩展桌面,而不是镜像.到目前为止,我还没有发现如何做到这一点.任何帮助表示感谢,谢谢.

linux desktop xrandr extend

8
推荐指数
1
解决办法
2万
查看次数

使用xming/vcxsrv/xwin为i3wm设置两个屏幕

我想在带有两个显示器的Windows 10 Linux子系统上使用i3.

附:

vcxsrv.exe :1 -nodecoration -wgl  -multimonitors -screen 0 3840x1160
Run Code Online (Sandbox Code Playgroud)

我可以创建一个跨越我的两个显示器的大窗口.这种配置适用于i3,但i3将其正确识别为单个屏幕,缺点是当两个监视器上的跨度时,窗口有时会被切成两半.

我想将i3与两个独立的屏幕一起使用,如下所示:

vcxsrv.exe :1 -nodecoration -wgl -screen 0 @1 -screen 1 @2
Run Code Online (Sandbox Code Playgroud)

但是,我可以在屏幕0(export DISPLAY=:1)或屏幕1(export DISPLAY=:1.1)上运行i3,但不能在同一时间运行i3 .

也许它与xrandr有一些东西,因为它无法识别我的配置:

xrandr -q:

xrandr: Failed to get size of gamma for output default
Screen 1: minimum 0 x 0, current 1920 x 1160, maximum 32768 x 32768
default connected primary 1920x1160+0+0 0mm x 0mm
   1920x1160       0.0*
Run Code Online (Sandbox Code Playgroud)

如何在i3上同时使用两个屏幕?

x11 xming xrandr

8
推荐指数
1
解决办法
2097
查看次数

Xrandr 显示“无法获取输出默认值的伽马大小”

我的系统规格:

**Intel i7-8700k (Coffe-lake),Mother board : ROG(Maximus X Hero)
OS :Ubuntu-Gnome 16.04** 
Run Code Online (Sandbox Code Playgroud)

我用Ubutnu-Gnome16.04启动了我的新电脑,安装后屏幕分辨率为1024x768(4:3) -- 并且屏幕显示“未知显示”。我没有在我的新操作系统中安装任何东西。我的 Monitor-CPU 连接电缆是DP(Pin Cable)。

我尝试过“强制创建新分辨率”:

 a)cvt 1366 768 60
 b)xrandr --newmode "< >"
Run Code Online (Sandbox Code Playgroud)

然后错误抛出:

“xrandr:无法获得输出默认值的伽马大小”。我想要完美的分辨率以适合我的桌面屏幕任何人都可以帮助我吗

ubuntu gnome resolution xrandr display

6
推荐指数
1
解决办法
3万
查看次数

如何使用前瞻排除正则表达式中的特殊字符

我有一个正则表达式,我用它来尝试检测屏幕分辨率,如下所示

xrandr | grep -P '(.*\d+x\d+)* | awk {'print$3'}
Run Code Online (Sandbox Code Playgroud)

当我在脚本中使用时,它会给我这样的东西

输出

1920x1200+0+0
1920x1200+1920+0
primary
1920x1200+1920+1200
Run Code Online (Sandbox Code Playgroud)

我尝试使用前瞻,但我猜我没有正确使用它,因为我得到了相同的匹配。

代码

xrandr | grep -P '(.*\d+x\d+)*^(?![\+]+\d\+\d) | awk {'print$3'}
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下前瞻如何处理特殊字符,以便我可以解决这个问题吗?我只想以下面的形式或一些变体返回屏幕分辨率。我想要做的是区分双显示器和 4 显示器。

xrandr | grep -P '(.*\d+x\d+)*^(?![\+]+\d\+\d) | awk {'print$3'} | tr -d '\\n'
Run Code Online (Sandbox Code Playgroud)

期待

1920x12001920x1200primary1920x1200
Run Code Online (Sandbox Code Playgroud)

或这个

1920x1200
1920x1200
primary
1920x1200
Run Code Online (Sandbox Code Playgroud)

如果它可以仅返回屏幕分辨率,则奖励积分。

1920x1200
1920x1200
1920x1200
1920x1200
Run Code Online (Sandbox Code Playgroud)

xrandr 输出

Mon0 connected 1920x1200+0+0 0mm x 0 mm
   1920x1200_c 59.95*
Mon0 connected 1920x1200+0+0 0mm x 0 mm
   1920x1200_c 59.95*
Mon0 connected primary 1920x1200+0+1200 0mm x 0 mm …
Run Code Online (Sandbox Code Playgroud)

regex linux bash grep xrandr

6
推荐指数
1
解决办法
49
查看次数

标签 统计

xrandr ×10

x11 ×4

xvfb ×3

linux ×2

screen ×2

bash ×1

c ×1

desktop ×1

display ×1

extend ×1

gnome ×1

google-chrome ×1

grep ×1

hdmi ×1

headless ×1

nvidia ×1

regex ×1

resolution ×1

ubuntu ×1

vnc ×1

vnc-server ×1

xming ×1