Я пытаюсь создать пользовательскую сессию путем создания custom.desktop файла в /usr/share/xesessions
папка. Помните, что это не a gnome
или некоторая другая сессия. Я создал свое собственное приложение для этой сессии, которые просты.
Содержание custom.desktop файла
[Desktop Entry]
Name=Internet Kiosk
Comment=This is an internet kiosk
Exec=google-chrome --kiosk
TryExec=
Icon=
Type=Application
Браузер Chrome запускается в режиме киоска, но не получает полную экранную область. Некоторую область оставляют внизу и правая сторона экрана.
Содержание custom.desktop файла
[Desktop Entry]
Name=Custom Kiosk
Comment=This is a custom kiosk
Exec=~/MyCustomPyGTKApp
TryExec=
Icon=
Type=Application
Мое пользовательское pyGTK приложение имеет window.fullScreen()
в коде. Это означает, что должно открыться в полном экране без хрома окна (и это делает под нормальной сессией). Но это также, лист много пространства вокруг этого.
Может любой говорить мне, что продолжается здесь. Я думаю его некоторая проблема с границами, как указано по http://www.instructables.com/id/Setting-Up-Ubuntu-as-a-Kiosk-Web-Appliance/?ALLSTEPS на Шаге 8
Если случайно, Google Chromium не расширяется к краям с - переключатель киоска включил существует простая фиксация. Для протяжения Хрома просто входят в систему как обычный пользователь и редактируют chromeKiosk.sh, чтобы не иметь - переключатель киоска. Затем войдите в систему как ограниченный пользователь, нажмите ключ и выберите опции. Затем на вкладке Personal Stuff выбор Скрывает системную строку заголовка и использует компактные границы. Закройте экран опций и расширьте Хром для установки монитору. Затем возвратитесь в окно настроек и установите его для Использования системной строки заголовка и границ. После того, как это сделано, выйдите из своего ограниченного пользователя (возможно, нуждался бы только к перезагрузке), и войдите в своего обычного пользователя. Отредактируйте chromeKiosk.sh назад для включения - переключатель киоска снова и Хром должны быть полным экраном в следующий раз, когда Вы входите в ограниченного пользователя.
Если я должен был использовать пользовательское pyGTK
или a gtkmm
приложение, как я должен обойти эту проблему. window.fullScreen()
должен занять полную экранную область. Это должно быть сделано программно или некоторым другим способом, который может масштабироваться. Я должен развернуть это на большом количестве машин, расположенных в различных географических районах. Выполнение его вручную на каждой машине не возможно.
Это - хитрое, у меня была подобная проблема при попытке иметь только ncurses базирующийся интерфейс на ПК программы учета рабочего времени, проблема для меня состояла в том, что, когда никакой менеджер окон не существует, нормальные приложения X Window ведут себя странно. Вот мое предложение:
sudo apt-get install ratpoison
unbind c unbind C-c unbind exclam unbind C-exclam unbind period
[Desktop Entry] Encoding=UTF-8 Name=Kiosk Mode Comment=Chromium Kiosk Mode Exec=/usr/share/xsessions/chromeKiosk.sh Type=Application
#!/bin/bash ratpoison & xscreensaver -nosplash & while true; do chromium-browser --kiosk http://google.com; sleep 5s; done
Работавший для меня, с Ubuntu 12.04 и хромом.
case1
необходимо сказать хром, что разрешение экрана путем перезаписи его предпочтительного файла ( нижняя часть и право значения). Ссылка, которую Вы отправили, включает ту часть.
#!/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)
case2
я сказал бы, что необходимо так или иначе сказать pyGTK приложение, каковы нижняя часть и правильные значения, соответственно каково разрешение экрана. Затем полноэкранная команда должна заставить Ваше приложение касаться всего экрана т.е. не покинуть любые границы.
Редактирование: это похоже на window.fullscreen (), метод должен в целом сделать это действительно полным экраном. Так никакая потребность определить разрешение сначала. Больше информации здесь, но я уверен, что Вы уже знаете это: http://www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow--fullscreen
Случай 1 в моем случае это выручило меня:
sudo нано sudo ~/.config/chrium/Default/Preferences
я изменил значения согласно своему разрешению экрана
"window_placement": {"нижняя часть": 1024, "оставленный": 0, "максимизируемый": верный, "правильный": 1280, "вершина": 0, "work_area_bottom": 1024, "work_area_left": 0, "work_area_right": 1280, "work_area_top": 0}