自定义会话:默认情况下,窗口不捕获全屏区域。 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应全屏显示。

如果我使用自定义pyGTKgtkmm应用程序,我该如何解决这个问题。 window.fullScreen()应该占据整个屏幕区域。 这必须以编程方式或以可扩展的其他方式完成。 我必须在位于不同地理区域的大量机器上部署它。 无法在每台机器上手动执行此操作。

这是一个棘手的问题,我有一个类似的问题,当试图在时间跟踪器上只有一个基于ncurses的界面时,我的问题是,当没有窗口管理器时,正常的X Window应用程序表现得很奇怪。 这是我的建议:

  1. 安装ratpoison窗口管理器
      sudo apt-get install ratpoison
    
  2. 取消绑定显示菜单或允许您执行终端或命令的键盘,将其放在$ HOME / .ratpoisonrc中作为将运行自助服务终端模式的用户
     unbind c
     unbind Cc
     unbind exclam
    解开C-exclam
    解禁期
    
  3. 而不是直接调用google-chrome,而是放置一个像你提到的instructables链接这样的脚本
 [桌面入口]
编码= UTF-8
名称= Kiosk模式
评论= Chromium Kiosk模式
 EXEC =的/ usr /共享/ xsessions /中chromeKiosk.sh
类型=应用
  1. 在脚本上放这个(记得让它可执行)
 #!/斌/庆典
老鼠药 &
 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}