Phiên tùy chỉnh: Cửa sổ không chụp toàn bộ khu vực màn hình theo mặc định. 12.04


11

Tôi đang cố gắng tạo một phiên tùy chỉnh bằng cách tạo tệp custom.desktop trong /usr/share/xesessionsthư mục. Hãy nhớ rằng đây không phải là một gnomehoặc một số phiên khác. Tôi đã tạo ứng dụng của riêng mình cho phiên này, rất đơn giản.

Trường hợp 1

Trình duyệt Chrome

Nội dung của tệp custom.desktop

[Desktop Entry]
Name=Internet Kiosk
Comment=This is an internet kiosk
Exec=google-chrome --kiosk
TryExec=
Icon=
Type=Application

Vấn đề

Trình duyệt Chrome bắt đầu ở chế độ kiosk nhưng không chụp được toàn bộ diện tích màn hình. Một số khu vực được để lại ở phía dưới và bên phải của màn hình.


Trường hợp 2

Ứng dụng pyGTK tùy chỉnh (Nhanh chóng)

Nội dung của tệp custom.desktop

[Desktop Entry]
Name=Custom Kiosk
Comment=This is a custom kiosk
Exec=~/MyCustomPyGTKApp
TryExec=
Icon=
Type=Application

Vấn đề

Ứng dụng pyGTK tùy chỉnh của tôi có window.fullScreen()trong mã. Điều đó có nghĩa là nó sẽ mở ở chế độ toàn màn hình mà không có cửa sổ chrome (và nó hoạt động theo phiên thông thường). Nhưng điều đó cũng vậy, để lại rất nhiều không gian xung quanh nó.

Cần giúp đỡ

Bất cứ ai có thể cho tôi biết những gì đang xảy ra ở đây. Tôi nghĩ rằng một số vấn đề với các đường viền như được chỉ ra tại http://www.instructables.com/id/Setting-Up-Ubfox-as-a-Kiosk-Web-Appliance/?ALLSTEPS trong Bước 8

Nếu tình cờ, Google Chromium không được kéo dài ra các cạnh với công tắc --kiosk được bật thì có một cách khắc phục đơn giản. Để kéo dài Chromium, chỉ cần đăng nhập với tư cách là người dùng thông thường của bạn và chỉnh sửa chromeKiosk.sh để không có công tắc --kiosk. Sau đó đăng nhập với tư cách người dùng bị hạn chế, nhấp vào cờ lê và chọn tùy chọn. Sau đó, trên tab Công cụ cá nhân, chọn Ẩn thanh tiêu đề hệ thống và sử dụng các đường viền nhỏ gọn. Đóng màn hình tùy chọn và kéo dài Chromium để vừa với màn hình. Sau đó quay lại cửa sổ tùy chọn và đặt nó thành Sử dụng thanh tiêu đề và đường viền hệ thống. Sau khi hoàn thành, đăng xuất khỏi người dùng bị hạn chế của bạn (có thể chỉ cần khởi động lại) và đăng nhập vào người dùng thông thường của bạn. Chỉnh sửa chromeKiosk.sh trở lại để bao gồm công tắc --kiosk và Chromium sẽ ở chế độ toàn màn hình vào lần tới khi bạn đăng nhập vào người dùng bị hạn chế.

Nếu tôi sử dụng một tùy chỉnh pyGTKhoặc một gtkmmứng dụng, tôi sẽ giải quyết vấn đề này như thế nào. window.fullScreen()nên chiếm diện tích màn hình hoàn chỉnh. Điều này phải được thực hiện theo chương trình hoặc theo một cách khác có thể mở rộng quy mô. Tôi phải triển khai điều này trên số lượng lớn máy móc đặt tại các khu vực địa lý khác nhau. Làm nó bằng tay trên mọi máy là không thể.

Câu trả lời:


6

Đây là một vấn đề khó khăn, tôi gặp vấn đề tương tự, khi cố gắng chỉ có một giao diện dựa trên máy tính theo dõi thời gian, vấn đề đối với tôi là khi không có trình quản lý cửa sổ, các ứng dụng X Window bình thường hoạt động kỳ quặc. Đây là đề xuất của tôi:

  1. Cài đặt trình quản lý cửa sổ chuột
    sudo apt-get cài đặt ratpoison
    
  2. Hủy liên kết bàn phím hiển thị menu hoặc cho phép bạn thực thi các thiết bị đầu cuối hoặc lệnh, đặt điều này trong $ HOME / .ratpoisonrc nhà là người dùng sẽ chạy chế độ kiosk
    cởi trói
    cởi trói
    cởi trói
    cởi trói cho C-exclam
    thời gian không ràng buộc
    
  3. Thay vì gọi trực tiếp tới google-chrome, hãy đặt một tập lệnh như liên kết của hướng dẫn mà bạn đã đề cập
[Mục nhập máy tính để bàn]
Mã hóa = UTF-8
Tên = Chế độ kiosk
Nhận xét = Chế độ kiosk Chromium
Exec = / usr / share / xsimes / chromeKiosk.sh
Loại = Ứng dụng
  1. Trên đoạn script đặt cái này (hãy nhớ làm cho nó có thể thực thi được)
#! / bin / bash
thuốc chuột &
xscreenaver -nosplash &
trong khi sự thật; làm trình duyệt crom --kiosk http://google.com; ngủ 5s; làm xong

Làm việc cho tôi, với Ubuntu 12.04 và crom.


Bạn cũng có một ý tưởng rất tốt. +1
Tái lập lại Monica - -

1

trường hợp 1

Bạn cần cho Chromium biết độ phân giải màn hình của bạn là gì bằng cách viết lại tệp tùy chọn của nó ( giá trị dưới cùngbên phải ). Liên kết bạn đã đăng bao gồm phần đó.

#!/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

(đã thử nghiệm trong Ubuntu 12.04)

trường hợp2

Tôi muốn nói rằng bạn phải bằng cách nào đó nói cho ứng dụng pyGTK của bạn biết giá trị dưới cùng và bên phải là gì, tương ứng với độ phân giải màn hình. Sau đó, lệnh toàn màn hình sẽ làm cho ứng dụng của bạn bao phủ tất cả màn hình, tức là không để lại bất kỳ viền nào.

Chỉnh sửa: có vẻ như phương thức window.fullscreen () nói chung làm cho nó thực sự toàn màn hình. Vì vậy, không cần xác định độ phân giải đầu tiên. Thêm thông tin ở đây, nhưng tôi chắc chắn rằng bạn đã biết điều này: http://www.pygtk.org/docs/pygtk/ class-gtkwindow.html#method-gtkwindow--fullscreen


0

Trường hợp 1 trong trường hợp của tôi, điều này đã giúp tôi ra:

sudo nano sudo ~ / .config / chrium / Mặc định / Tùy chọn

Tôi đã thay đổi các giá trị theo độ phân giải màn hình của tôi

"window_plocation": {"bottom": 1024, "left": 0, "maximized": true, "right": 1280, "top": 0, "work_area_bottom": 1024, "work_area_left": 0, "work_area_" : 1280, "work_area_top": 0}


Tôi không thể thay đổi nó bằng tay.
Juzer Ali
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.