
저는 관리자가 다른 계정을 만들고 해당 계정을 키오스크 모드에서 자동으로 실행할 수 있도록 하는 deb 패키지를 작업 중입니다. 사용자를 생성하고 단축 키를 지정하여 숨겨진 파일에 넣은 다음 새 사용자의 홈 폴더에 복사할 관리자 계정에 .bash_profile 스크립트를 생성했습니다.
이것은 파일을 생성하고 단축 키를 지정하기 위해 실행 중인 스크립트입니다.
#!/bin/bash
basis="Primary + Alt + "
shortkey=`zenity --entry --text "Your shortkey will be a combination of <Primary> + <Alt> + a letter\n\n Specify your letter!"`
while [[ $shortkey = *[^A-Z]* ]];
do
zenity --warning --text "Input incorrect\n\nTry again"
shortkey=`zenity --entry --text "Your shortkey will be a combination of <Primary> + <Alt> + a letter\n\n Specify your letter!"`
done
basis="$basis$shortkey"
zenity --info --text "$basis" --title="Your shortkey"
touch kiosk/kiosk-0.1/.mykey
echo "gsettings set org.gnome.desktop.wm.keybindings close [$basis]" > kiosk/kiosk-0.1/.mykey
user=$(cat kiosk/kiosk-0.1/.username)
keys=$(cat kiosk/kiosk-0.1/keys)
content=$(cat kiosk/kiosk-0.1/.mykey)
touch kiosk/kiosk-0.1/.bash_profile
echo "#!/bin/bash" >> .bash_profile
echo "" >> .bash_profile
echo $keys >> .bash_profile
echo $content >> .bash_profile
chmod +x .bash_profile
chown $user .bash_profile
mv '.bash_profile' /home/$user
.bash_profile에 복사된 콘텐츠에는 다음과 같이 인터페이스에서 모든 키를 비활성화하는 코드가 포함되어 있습니다.
gsettings set org.gnome.desktop.wm.keybindings begin-move []
이제 올바른 웹사이트에 크롬 브라우저를 시작하는 줄만 추가했습니다.
/usr/bin/chromium-browser www.google.be --kiosk --no-default-browser-check --disable-translate
또한 .bash_profile 스크립트의 소유자를 계정 사용자로 변경하고 새 사용자 홈 폴더에 복사하기 전에 실행 가능하게 만들었습니다.
이제 새 사용자로 로그인하면 이 스크립트는 아무 작업도 수행하지 않습니다. 누구든지 내가 어디에서 잘못되었는지 확인하고 해결책을 찾는 데 도움을 줄 수 있습니까?
답변1
여기서 주요 문제는 .bash_profile
그래픽 로그인을 수행할 때 읽혀지지 않는다는 것입니다. 이것은 bash 전용 파일이며 로그인 쉘을 시작할 때 읽혀지며 그래픽 로그인에서도 읽을 수 있을지 의심됩니다.
~/.profile
대신 i) bash뿐만 아니라 대부분의 로그인 쉘에서 읽을 수 있으므로 사용자를 특정 쉘로 제한하지 않고 ii) 그래픽 로그인으로 읽을 가능성이 훨씬 더 높습니다 .
방금 이것을 확인했고 .profile
실제로 그래픽으로 로그인하면 Ubuntu 13.04에서 읽혀집니다. 그러나 항상 그럴 것이라고 가정할 수는 없습니다. 자세한 내용은 Gilles의 탁월한 답변을 참조하세요.여기.
이제 몇 가지 사소한 사항이 있습니다. 는 필요하지 않습니다 touch
. 파일이 없으면 echo "foo" >> bar
파일을 만들고 파일이 있으면 추가합니다. 또한 실행 파일이 bar
필요하지 않으며 파일은 실행되지 않고 소스로 제공됩니다. .bash_profile
그것이 문제를 일으킬지는 모르겠지만 그럴 수도 있습니다.
마지막으로 파일 그룹은 사용자 그룹이 아닌 루트가 됩니다. 다시 말하지만 이것이 문제인지는 확실하지 않지만 스크립트에 다음을 추가할 수도 있습니다.
chown $user:$user .profile
참고하세요.profile
bash에서는 무시됩니다라는 파일이 ~/.bash_profile
존재하는 경우. 이는 그래픽 로그인에 영향을 주지 않지만 명령줄에서 로그인할 때 예기치 않은 동작이 발생할 수 있습니다.