我在 Intel Celeron CPU 上运行 ubuntu 16.04。
Linux kevin-minipc 4.8.0-39-generic #42~16.04.1-Ubuntu SMP Mon Feb 20 15:06:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
我编写了一个 Qt 应用程序。当我在桌面环境中运行它时,它是全屏的。
现在,我希望系统自动登录,并且当系统在没有桌面环境的情况下启动时,我的应用程序作为 X 客户端全屏运行。
因此我做了以下改变:
lightdm.conf
添加一个名为的文件/etc/lightdm
:[Seat:*] user-session=myxclient autologin-user=kevin autologin-user-timeout=delay
kevin
是我的系统账户。myxclient.desktop
添加文件/usr/share/xsessions
:[Desktop Entry] Name=myapp Comment=myapp Exec=/home/kevin/myapp Icon= Type=Application
/home/kevin/myapp
是我的 Qt 应用程序的路径。
当我重新启动并且系统启动时,myapp 将在没有桌面的情况下运行,但是它不是全屏我尝试在 .desktop 文件中运行其他应用程序,例如 Firefox,但它也不是全屏的。
那么,我该如何让它全屏呢?其他一些方法也是可以接受的。(最好当我使用不同尺寸的显示器时不必更改任何配置。)
还有一个问题:没有桌面环境,我可以使用像 ibus 这样的输入程序吗?
答案1
这取决于您运行的应用程序。您的应用程序可能会接受参数,例如 --fullscreen 或 --window-size。但是,全屏取决于窗口管理器,因此如果您只有显示管理器(LightDM)而没有窗口管理器,最好简单地将应用程序窗口大小设置为整个屏幕大小。
此外,我没有将应用程序作为 LightDM 配置文件中定义的会话运行,而是在 ~/.xsession 文件中定义了它。默认情况下,没有窗口管理器的 LightDM 会执行 xterm。当您有 ~/.xsession 文件时,它会代替 xterm 执行。
例如,我有一个装有 Chromium 浏览器的自助服务终端,我使用它开始
chromium --app=https://example.com --window-position=0,0 --window-size=1920,1080
如果您的应用程序不支持窗口位置和大小,您可以使用 xdotool(Debian 上的 xdotool 包)调整大小,这需要一些脚本。启动应用程序后,您必须首先使用以下命令获取可见窗口编号:
xdotool search --onlyvisible --maxdepth 1 ""
然后下一步移动并调整窗口大小
xdotool windowmove {window_number} {posx} {posy} windowsize {window_num} {sizex} {sizey}