사용자 정의 세션 : 기본적으로 창은 전체 화면 영역을 캡처하지 않습니다. 12.04


11

/usr/share/xesessions폴더에 custom.desktop 파일을 만들어 사용자 정의 세션을 만들려고 합니다. 이것은 gnome또는 다른 세션 이 아님을 기억하십시오 . 이 세션에 대한 자체 응용 프로그램을 만들었습니다. 간단합니다.

사례 1

크롬 브라우저

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 에서 지적한 것처럼 테두리와 관련된 문제가 있다고 생각합니다.

우연히 --Chiosk 스위치를 사용하여 Google Chromium이 가장자리로 확장되지 않으면 간단한 수정이 있습니다. Chromium을 확장하려면 일반 사용자로 로그인하고 --kiosk 스위치가 없도록 chromeKiosk.sh를 편집하십시오. 그런 다음 제한된 사용자로 로그인하고 렌치를 클릭하고 옵션을 선택하십시오. 그런 다음 개인 항목 탭에서 시스템 제목 표시 줄 숨기기를 선택하고 작은 테두리를 사용하십시오. 옵션 화면을 닫고 모니터에 맞게 Chromium을 늘립니다. 그런 다음 옵션 창으로 돌아가서 시스템 제목 표시 줄 및 경계선 사용으로 설정하십시오. 이 작업이 완료되면 제한된 사용자에서 로그 아웃 (재부팅해야 함)하고 일반 사용자로 로그인하십시오. --kiosk 스위치를 다시 포함하도록 chromeKiosk.sh를 다시 편집하면 다음에 제한된 사용자에 로그인 할 때 Chromium이 전체 화면이어야합니다.

맞춤 pyGTK또는 gtkmm앱 을 사용해야한다면 이 문제를 어떻게 해결해야합니까? window.fullScreen()전체 화면 영역을 차지해야합니다. 프로그래밍 방식으로 또는 확장 가능한 다른 방식으로 수행해야합니다. 다른 지리적 위치에있는 많은 수의 컴퓨터에 이것을 배포해야합니다. 모든 기계에서 수동으로 수행 할 수있는 것은 아닙니다.

답변:


6

이것은 까다로운 문제입니다. 시간 추적기 PC에서 ncurses 기반 인터페이스 만 사용하려고 할 때 비슷한 문제가 발생했습니다. 창 관리자가 없으면 일반적인 X Window 응용 프로그램이 이상하게 작동한다는 것이 문제였습니다. 내 제안은 다음과 같습니다.

  1. ratpoison window manager 설치
    sudo apt-get 설치 ratpoison
    
  2. 메뉴를 표시하거나 터미널 또는 명령을 실행할 수있는 바인드 해제 키보드를 $ HOME / .ratpoisonrc 에 키오스크 모드를 실행할 사용자로 설정합니다.
    바인딩 해제 c
    바인딩 해제 Cc
    언 바인드 느낌표
    바인딩 해제 C-exclam
    바인딩 해제 기간
    
  3. Google 크롬에 직접 전화하는 대신 언급 한 지시 할 수있는 링크와 같은 스크립트를 넣으십시오.
[데스크탑 항목]
인코딩 = UTF-8
이름 = 키오스크 모드
Comment = 크롬 키오스크 모드
실행 = / usr / share / xsessions / chromeKiosk.sh
유형 = 응용
  1. 스크립트에서 이것을 넣으십시오 (실행 가능하게하십시오)
#! / bin / bash
쥐약 &
xscreensaver -nosplash &
사실이지만; 크롬 브라우저 --kiosk http://google.com; 수면 5; 끝난

우분투 12.04와 크롬으로 저를 위해 일했습니다.


당신은 또한 좋은 생각이 있습니다. 한
나노 패럿

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

(우분투 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.