自定义会话:默认情况下,窗口不捕获全屏区域。 12.04
我试图通过在/usr/share/xesessions
文件夹中创建custom.desktop文件来创建自定义会话。 请记住,这不是一个gnome
或其他会话。 我为这个会话创建了自己的应用程序,这很简单。
情况1
Chrome浏览器
custom.desktop文件的内容
[Desktop Entry] Name=Internet Kiosk Comment=This is an internet kiosk Exec=google-chrome --kiosk TryExec= Icon= Type=Application
问题
Chrome浏览器以自助服务终端模式启动,但无法捕获整个屏幕区域。 某些区域位于屏幕的底部和右侧。
案例2
自定义pyGTK应用程序(快速)
custom.desktop文件的内容
[Desktop Entry] Name=Custom Kiosk Comment=This is a custom kiosk Exec=~/MyCustomPyGTKApp TryExec= Icon= Type=Application
问题
我的自定义pyGTK应用程序在代码中有window.fullScreen()
。 这意味着它应该在没有窗口镶边的情况下全屏打开(并且它在正常会话下完成)。 但是,这也留下了很多空间。
需要帮忙
任何人都可以告诉我这里发生了什么。 我认为在第8步中http://www.instructables.com/id/Setting-Up-Ubuntu-as-a-Kiosk-Web-Appliance/?ALLSTEPS指出了边界问题
如果碰巧使用–kiosk开关,谷歌Chromium没有延伸到边缘,有一个简单的修复。 要拉伸Chromium,只需以普通用户身份登录,然后编辑chromeKiosk.sh即可没有–kiosk开关。 然后以受限用户身份登录,单击扳手并选择选项。 然后在“个人资料”选项卡上选择“隐藏系统标题栏”并使用紧凑边框。 关闭选项屏幕并拉伸Chromium以适合显示器。 然后返回选项窗口并将其设置为使用系统标题栏和边框。 完成此操作后,请注销受限用户(可能只需重新启动)并登录常规用户。 再次编辑chromeKiosk.sh以再次包含–kiosk开关,下次登录受限用户时,Chromium应全屏显示。
如果我使用自定义pyGTK
或gtkmm
应用程序,我该如何解决这个问题。 window.fullScreen()
应该占据整个屏幕区域。 这必须以编程方式或以可扩展的其他方式完成。 我必须在位于不同地理区域的大量机器上部署它。 无法在每台机器上手动执行此操作。
这是一个棘手的问题,我有一个类似的问题,当试图在时间跟踪器上只有一个基于ncurses的界面时,我的问题是,当没有窗口管理器时,正常的X Window应用程序表现得很奇怪。 这是我的建议:
- 安装ratpoison窗口管理器
sudo apt-get install ratpoison
- 取消绑定显示菜单或允许您执行终端或命令的键盘,将其放在$ HOME / .ratpoisonrc中作为将运行自助服务终端模式的用户
unbind c unbind Cc unbind exclam 解开C-exclam 解禁期
- 而不是直接调用google-chrome,而是放置一个像你提到的instructables链接这样的脚本
[桌面入口] 编码= UTF-8 名称= Kiosk模式 评论= Chromium Kiosk模式 EXEC =的/ usr /共享/ xsessions /中chromeKiosk.sh 类型=应用
- 在脚本上放这个(记得让它可执行)
#!/斌/庆典 老鼠药 & xscreensaver -nosplash& 而真实; 做chrome-browser --kiosk http://google.com; 睡5s; DONE
用Ubuntu 12.04和铬为我工作。
情况1
您需要通过重写其首选项文件( 底部和右侧值)来告诉铬您的屏幕分辨率。 您发布的链接包含该部分。
#!/bin/bash prefs=~/.config/chromium/Default/Preferences cat $prefs |\ perl -pe "s/\"bottom.*/\"bottom\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f2),/" \ > $prefs cat $prefs |\ perl -pe "s/\"right.*/\"right\": $(xrandr | grep \* | cut -d' ' -f4 | cut -d'x' -f1),/" \ > $prefs chromium-browser
(在Ubuntu 12.04中测试)
案例2
我会说你必须以某种方式告诉你的pyGTK应用程序底部和右边的值是什么,分别是屏幕分辨率。 然后全屏命令应该使您的应用程序覆盖所有屏幕,即不留任何边框。
编辑:看起来window.fullscreen()方法通常应该使它真正全屏。 因此,无需先定义分辨率。 更多信息在这里,但我相信你已经知道这个: http : //www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow–fullscreen
在我的案例中,案例1帮助了我:
sudo nano sudo~ / .config / chrium / Default / Preferences
我根据屏幕分辨率更改了值
“window_placement”:{“bottom”:1024,“left”:0,“maximized”:true,“right”:1280,“top”:0,“work_area_bottom”:1024,“work_area_left”:0,“work_area_right” :1280,“work_area_top”:0}