เซสชันที่กำหนดเอง: หน้าต่างไม่จับภาพพื้นที่เต็มหน้าจอตามค่าเริ่มต้น 12.04


11

ฉันกำลังพยายามสร้างเซสชันที่กำหนดเองโดยการสร้างไฟล์ custom.desktop ใน/usr/share/xesessionsโฟลเดอร์ จำไว้ว่านี่ไม่ใช่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()อยู่ในรหัส ซึ่งหมายความว่าควรเปิดแบบเต็มหน้าจอโดยไม่ต้องใช้หน้าต่างโครเมี่ยม (และทำงานภายใต้เซสชันปกติ) แต่นั่นก็ทำให้มีพื้นที่เหลืออยู่มากมาย

ต้องการความช่วยเหลือ

ใครสามารถบอกฉันว่าเกิดอะไรขึ้นที่นี่ ผมคิดว่าปัญหาของบางคนที่มีพรมแดนเป็นแหลมออกที่http://www.instructables.com/id/Setting-Up-Ubuntu-as-a-Kiosk-Web-Appliance/?ALLSTEPSในขั้นตอนที่ 8

หากบังเอิญ Google Chromium ไม่ขยายไปถึงขอบด้วยสวิตช์ --kiosk ที่เปิดใช้งานจะมีวิธีแก้ไขอย่างง่าย หากต้องการยืด Chromium เพียงลงชื่อเข้าใช้ในฐานะผู้ใช้ทั่วไปของคุณและแก้ไข chromeKiosk.sh เพื่อไม่มีสวิตช์ --kiosk จากนั้นเข้าสู่ระบบในฐานะผู้ใช้ที่ จำกัด คลิกที่ประแจแล้วเลือกตัวเลือก จากนั้นบนแท็บรายการส่วนตัวเลือกซ่อนแถบหัวเรื่องของระบบและใช้เส้นขอบขนาดกะทัดรัด ปิดหน้าจอตัวเลือกและยืด Chromium ให้พอดีกับมอนิเตอร์ จากนั้นกลับไปที่หน้าต่างตัวเลือกแล้วตั้งค่าเป็นใช้แถบชื่อระบบและเส้นขอบ หลังจากเสร็จสิ้นให้ออกจากระบบผู้ใช้ที่ถูก จำกัด ของคุณ (อาจต้องรีบูตเครื่อง) และเข้าสู่ระบบผู้ใช้ปกติของคุณ แก้ไข chromeKiosk.sh กลับเพื่อรวมสวิตช์ --kiosk อีกครั้งและ Chromium ควรเต็มหน้าจอในครั้งต่อไปที่คุณลงชื่อเข้าใช้ผู้ใช้ที่ถูก จำกัด

ถ้าฉันจะใช้แบบกำหนดเองpyGTKหรือgtkmmแอพฉันจะแก้ไขปัญหานี้ได้อย่างไร window.fullScreen()ควรใช้พื้นที่หน้าจอที่สมบูรณ์ นี้จะต้องมีการเขียนโปรแกรมหรือวิธีอื่นที่สามารถปรับขนาด ฉันต้องปรับใช้สิ่งนี้กับเครื่องจักรจำนวนมากที่อยู่ในพื้นที่ทางภูมิศาสตร์ที่แตกต่างกัน ไม่สามารถทำได้ด้วยตนเองในทุกเครื่อง

คำตอบ:


6

นี่เป็นเรื่องยุ่งยากฉันมีปัญหาที่คล้ายกันเมื่อพยายามที่จะมีเพียงอินเทอร์เฟซที่ใช้ ncurses บนตัวติดตามเวลาพีซีปัญหาสำหรับฉันคือว่าเมื่อไม่มีตัวจัดการหน้าต่างอยู่แอปพลิเคชัน X Window ปกติจะทำงานผิดปกติ นี่คือข้อเสนอของฉัน:

  1. ติดตั้งเครื่องมือจัดการหน้าต่าง ratpoison
    sudo apt-get ratpoison ติดตั้ง
    
  2. ยกเลิกการผูกคีย์บอร์ดที่แสดงเมนูหรืออนุญาตให้คุณเรียกใช้เทอร์มินัลหรือคำสั่งวางไว้ใน$ HOME / .ratpoisonrcที่บ้านเป็นผู้ใช้ที่จะเรียกใช้โหมดคีออสก์
    เลิกผูก c
    ยกเลิกผูก Cc
    คลายการผูกมัด
    เลิกผูก C-exclam
    ระยะเวลาไม่ผูก
    
  3. แทนที่จะเรียกไปยัง google-chrome โดยตรงให้วางสคริปต์เช่นลิงก์ของคำแนะนำที่คุณกล่าวถึง
[รายการเดสก์ท็อป]
การเข้ารหัส = UTF-8
ชื่อ = โหมดคีออสก์
ความคิดเห็น = โหมดตู้ Chromium
Exec = / usr / share / xsessions / chromeKiosk.sh
type = แอพลิเคชัน
  1. ในสคริปต์ใส่สิ่งนี้ (อย่าลืมว่าให้มันปฏิบัติการได้)
#! / bin / ทุบตี
ยาเบื่อหนู &
xscreensaver -nosplash &
ในขณะที่จริง ทำโครเมียมเบราว์เซอร์ --kiosk http://google.com; นอนหลับ 5 วินาที; เสร็จแล้ว

ทำงานให้ฉันด้วย Ubuntu 12.04 และโครเมียม


คุณมีความคิดที่ดีมาก +1
nanofarad

1

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


0

กรณีที่ 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}


ฉันไม่สามารถเปลี่ยนได้ด้วยตนเอง
Juzer Ali
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.