我今天很酸。正如标题所暗示的,我想将 XF86AudioRaiseVolume 和 XF86AudioLowerVolume 键与 sxhkd 一起使用。
在 sxhkd 中映射它们不起作用(无法识别密钥)。XF86Sleep 等其他键效果很好。
在查看 xev 之后,看起来按键没有被监控,只有按键释放操作(尽管尝试在 sxhkd 中映射释放事件也不起作用)。
我的第一个假设是另一个程序已经在抓取密钥。有没有办法知道哪个应用程序?
- 编辑 -
其他进程似乎也无法绑定这些密钥(有时 kmix 除外)。我真的相信某个进程已经在捕获这些密钥,如果我能找出它是哪个进程就好了……
我正在寻找一种方法来自动获取我的X服务器的屏幕截图,如果创建一个窗口或窗口的内容已更改.
我目前通过收听X11事件来实现这一目标,但并未报告所有更改.
我有一个Java应用程序,它使用WebRenderer用于java无头浏览器.WebRenderer不需要运行xserver,我通过卸载所有x11库和xserver组件来确认这一点.
但问题是它会抛出错误:Gtk-WARNING **: cannot open display:在某些情况下.经过研究,我发现它通常会在安装了openJDK的系统中引发错误.此外,当前的Java版本来自Sun,但仍然安装了openJDK.为了解决这个问题,我需要卸载libatk-wrapper-java和libgtk2.0-0(这也删除default-jre,cedtea-netx,libatk-wrapper-java-jni,libgtk2.0-bin,和openjdk-6-jre).
它也会在openSUSE中抛出相同的错误(使用Sun的Java).有没有办法解决这个错误,而无需启动xserver或卸载一些其他可能需要的组件?任何帮助表示赞赏.
我已经在远程 Linux 机器上安装了 Eclipse,并尝试通过 X11 转发从我的 Windows 机器访问它。是的,我们有这样做的要求。
使用 Eclipse (Helios/Indigo/Juno) 时,我遇到了右键单击行为的问题。当我在 Eclipse 中右键单击时,弹出菜单会短暂出现,然后光标附近的任何菜单项都会被选中并执行该操作。如果我按住右键单击,则弹出菜单保持打开状态,我可以选择任何菜单项。当我释放右键单击时,将执行所选的菜单项操作。请注意,在所有这些情况下,从不使用鼠标左键。
为windows尝试了不同的Linux风格(SuSE/Ubuntu)和不同的X11服务器(Xming/Cygwin/VNC),结果是一样的。这只发生在 Eclipse 中,其他应用程序如 firefox 没有这个问题。
这种行为可以部分归因于 Linux 处理鼠标点击的方式,即释放鼠标右键将触发选择。
请注意,在所有情况下,Eclipse 在本地(在本地 Linux 机器上)都没有任何问题,这些问题仅在我们从 Windows 机器远程访问 Eclipse(X11/VNC)时出现。
我不确定问题是否出在 Eclipse 中,因为 Eclipse 在本地运行良好。然后,我不确定问题是否出在 X-server 中,因为其他应用程序(如 firefox)可以远程正常工作。
有任何想法吗?花很多时间在这……!
以下是几个相关链接:
http://devnet.jetbrains.net/message/5246614
http://communities.vmware.com/thread/220037
https://superuser.com/questions/433314/how-do-avoid-context-menu-in-opensuse-to-open-on-mousepress
我创建了带有 X 服务器的 docker 容器。我将它用于一些屏幕外的 OpenGL 渲染。这个容器应该可以在任何系统上工作(有或没有 X 服务器运行),并且它应该使用硬件 GPU(如果它存在)(所以我不能使用 xvfb)。
当我在没有 GUI 的类似服务器的系统上使用这个容器时,一切正常。但是当我在 Ubuntu 14.04 桌面上运行容器时,每次在容器中启动 X 服务器时屏幕都会关闭。
我使用 --priviliged 启动容器,因此 /dev 文件夹与容器共享。我相信它涉及某种冲突。
有没有办法在容器内启动 X,例如主机 X 服务器仍在工作?
更新:
我在 Xorg.0.log 中看到以下内容:
AIGLX: Suspending AIGLX clients for VT switch
(II) NOUVEAU(0): NVLeaveVT is called.
Run Code Online (Sandbox Code Playgroud)
更新:
我可以使用 xvfb 代替真正的 Xorg 服务器吗?它是否支持实际的硬件 GPU 渲染?
运行最新的Cygwin64,Window 10,startxwin给出:
winClipboardProc - XOpenDisplay () returned and successfully opened the display.
winMultiWindowXMsgProcErrorHandler - ERROR: BadMatch (invalid parameter attributes)
Run Code Online (Sandbox Code Playgroud)
然后挂起 有线索吗?
我在Windows 10上的Virtual Box上托管Ubuntu 16.04.在Ubuntu 16.04中,有QEmu模拟ARM处理器,运行Ubuntu Trusty(14.04).
当我按如下方式启动QEmu时,它会显示一个带标题的窗口QEMU,但是完全是黑色的客户区:
qemu-system-arm -smp 2 --drive format=raw,if=sd,file=vexpress-8G.img -kernel vmlinuz-3.13.0-24-generic-lpae -initrd initrd.img-3.13.0-24-generic-lpae -M vexpress-a15 -serial stdio -m 2048 -append 'root=/dev/mmcblk0 rw mem=2048M raid=noautodetect rootwait console=ttyAMA0,38400n8 devtmpfs.mount=0' -dtb ./vexpress-v2p-ca15-tc1.dtb
Run Code Online (Sandbox Code Playgroud)
客户操作系统(ARM-Ubuntu)的控制台工作,启动消息显示在qemu-system-arm运行命令的同一终端中.但是当我输入startx命令时,它会显示错误:
Loading extension GLX
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error …Run Code Online (Sandbox Code Playgroud) 在 ubuntu 16 服务器上 ( SSH )
启动时
Xvfb :99 -screen 1 1024x768x8 &
Run Code Online (Sandbox Code Playgroud)
工作正常,但是当尝试使用 32 位启动时,如下所示
Xvfb :99 -screen 1 1024x768x32 &
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
Fatal server error:
(EE) Couldn't add screen 1(EE)
Run Code Online (Sandbox Code Playgroud)
再次尝试 16 位,又出现另一个错误:
Xvfb: ../../../../include/privates.h:122: dixGetPrivateAddr: Assertion
`key->initialized' failed.
(EE) Backtrace:
(EE) 0: Xvfb (xorg_backtrace+0x4d) [0x55f95b12f55d]
(EE) 1: Xvfb (0x55f95afb1000+0x1822f9) [0x55f95b1332f9]
(EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f303919d000+0x12890)
[0x7f30391af890]
(EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (gsignal+0xc7)
[0x7f3038deae97]
(EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (abort+0x141) [0x7f3038dec801]
(EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (0x7f3038dac000+0x3039a)
[0x7f3038ddc39a]
(EE) 6: /lib/x86_64-linux-gnu/libc.so.6 (0x7f3038dac000+0x30412)
[0x7f3038ddc412]
(EE) 7: …Run Code Online (Sandbox Code Playgroud) 我已遵循本教程中的每一步。双重检查。双安装。
https://nickymeuleman.netlify.app/blog/gui-on-wsl2-cypress
但我收到错误:
[3974:0912/194522.792278:ERROR:browser_main_loop.cc(1402)] Unable to open X display.
The futex facility returned an unexpected error code.
The Test Runner unexpectedly exited via a exit event with signal SIGABRT
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何打开一个有头浏览器来从在 Docker 容器中运行的 NestJs 应用程序内部执行一些任务。
\n申请代码:
\nimport { Controller, Get } from '@nestjs/common';\nimport { AppService } from './app.service';\nimport { chromium } from "playwright";\n\n@Controller()\nexport class AppController {\n constructor(private readonly appService: AppService) {}\n\n @Get()\n async getHello(): Promise<string> {\n const browser = await chromium.launch({ \n headless: false,\n env: {\n "DISPLAY": ":99"\n }\n });\n const context = await browser.newContext({ javaScriptEnabled: true });\n const page = await context.newPage();\n\n await page.goto("http://www.google.com");\n await page.waitForLoadState("load");\n\n return "Yay";\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nDockerfile:
\nFROM ubuntu:20.04 AS BUILD_IMAGE\n\n# INSTALL …Run Code Online (Sandbox Code Playgroud)