You are not logged in.
Pages: 1
XFCE version: 4.10
Distribution: Linux Mint XFCE 17 x64
I have my panel and desktop set up with my desired settings and look as shown in the first image, however I would like to lock the panel into kiosk mode to prevent changes by unskilled users.
I have modified the kioskrc (/etc/xdg/xfce4/kiosk/) and the xfce4-panel.xml (/etc/xdg/xfce4/xconf/xfce-perchannel-xml) as shown in the second and third images below.
After making the above changes the panel is locked into kiosk mode as desired, however the desktop and panel revert to a partially default look. The whisker menu and clock have my customized settings, however the launchers and other icons are missing, and the home folder is now visible. (Image below)
I need assistance figuring out which configuration file(s) that I need to edit to achieve my desired results of having a locked down panel and desktop with my customized settings and launchers.
-Thanks for the help and apologies for all the pictures.
Offline
Glad I'm not the only one stumped by this kiosk mode issue. If anyone requires more information please ask, I would be more than happy to provide any information needed.
A few questions:
-Is this a known bug that I am unaware of?
-Am I possibly using the wrong configuration files or combination of configuration files?
-Is there possibly a workaround to achieve the desired results?
Thank you, for the time and effort in assisting me.
Offline
I've never used kiosk mode so I probably won't be able to help with specifics. There don't appear to be any open bugs related to this issue. There was a recent write-up by one of our members about setting up kiosk mode. I haven't tried it, but there might be some useful information there.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
ok i tried this and it worked so far(xfce 4.11 - debian jessie(+xfce unstable/siduction/experimental), here is what i did:
I modified the desktop,panel,background as my normal user "ssf"
mkdir /etc/xdg/xfce4/kiosk
touch /etc/xdg/xfce4/kiosk/kioskrc
nano /etc/xdg/xfce4/kiosk/kioskrc
[xfce4-panel]
CustomizePanel=root,ssf
[xfdesktop]
UserMenu=root,ssf
CustomizeBackdrop=root,ssf
CustomizeDesktopMenu=root,ssf
CustomizeWindowlist=NONE
CustomizeDesktopIcons=root,ssf
[xfce4-session]
SaveSession=NONE
not sure if those 3 lines are necessary
mv /etc/xdg/xfce4/panel/default.xml /etc/xdg/xfce4/panel/default.xml.bak
cp ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml /etc/xdg/xfce4/panel/default.xml
cp ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /etc/xdg/xfce4/desktop/default.xml
cp ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
cp ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
adduser guest
edited all xml files and replaced "<channel name="$channelname" version="1.0">" with "<channel name="$channelname" version="1.0" locked="*" unlocked="root;ssf">"
logout and relogged as guest, gives you a beautiful desktop like this (o_O)
desktop icons are disabled @xfce4-desktop.xml (see screenshot)
i guess if you use custom launchers you need to modfy the panel xml eg:
<property name="plugin-12" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="xfce4-appfinder.desktop"/>
</property>
either add a full path to the desktop files or use the names from $SYSPREFX/share/applications/ (ls /usr/share/applications/) but i haven't tried that...
@menu icons
just open xfce appfinder and hide(right click all unwanted applications)
cd ~/.local/share
chmod -R 555 applications
well, you can still open thunar and remove the lock but you could also move the whole folder to your sysroot(chown root && chmod 555) and symlink it back to your home folder to prevent changes
you could also set a special menu.xml for your menu in your xfce4-panel.xml(right click menu button but not sure if whisker allows this) - default on debian is loaded from /etc/xdg/menus/
Last edited by sixsixfive (2014-12-08 22:47:47)
Offline
Thanks for the responses.
There was a recent write-up by one of our members about setting up kiosk mode.
That was actually one of the resources I used to set this up originally. Unfortunately, he's using an older version of XFCE (4.8) and Xubuntu instead of Mint, which apparently makes a difference.
@sixsixfive
I tried your methods, but still no joy.
[xfce4-panel] CustomizePanel=root,ssf [xfdesktop] UserMenu=root,ssf CustomizeBackdrop=root,ssf CustomizeDesktopMenu=root,ssf CustomizeWindowlist=NONE CustomizeDesktopIcons=root,ssf [xfce4-session] SaveSession=NONE
edited all xml files and replaced "<channel name="$channelname" version="1.0">" with "<channel name="$channelname" version="1.0" locked="*" unlocked="root;ssf">"
I added "root,administrator" to the kioskrc file and "root;administrator" to the panel.xml and desktop.xml files. I didn't know the proper syntax for having multiple unlocked users. Thanks!
<property name="plugin-12" type="string" value="launcher"> <property name="items" type="array"> <value type="string" value="xfce4-appfinder.desktop"/> </property>
either add a full path to the desktop files or use the names from $SYSPREFX/share/applications/ (ls /usr/share/applications/) but i haven't tried that...
I tried this, but the launchers were still not on the panel.
cd ~/.local/share chmod -R 555 applications
well, you can still open thunar and remove the lock but you could also move the whole folder to your sysroot(chown root && chmod 555) and symlink it back to your home folder to prevent changes
you could also set a special menu.xml for your menu in your xfce4-panel.xml(right click menu button but not sure if whisker allows this) - default on debian is loaded from /etc/xdg/menus/
Could you elaborate on these more?(I'm a Linux Newbie) It seems like it might accomplish something similar to the workaround that I found, but in a better way. I found that if I "write lock" (Read Only) the home/agent/.config/xfce4/xfconf/ folder for the agent account. That changes can still be made (add launchers/change wallpaper/etc), but they revert upon logout; which honestly will accomplish my desired result of a mostly non-editable user account. Although, I would still like to lock the panel and desktop to help prevent changes and maybe use the read-only folders method to revert any changes.
Thanks again for the assistance.
Offline
>I tried this, but the launchers were still not on the panel.
if you drag and drop launchers into the panel they get stange numbers like 12838947984.desktop and you just need to replace them with their original names from /usr/share/applications (ls /usr/share/applications in a terminal)
for example my applications folder
ssf@debtop:~$ ls /usr/share/applications
audacious.desktop panel-preferences.desktop
awf.desktop pavucontrol.desktop
brasero.desktop pcmanfm-qt.desktop
brasero-nautilus.desktop pcmanfm-qt-desktop-pref.desktop
bum.desktop projectM-pulseaudio.desktop
compton-conf.desktop python2.7.desktop
debian-uxterm.desktop python3.4.desktop
debian-xterm.desktop qmmp_cue.desktop
display-im6.desktop qmmp.desktop
display-im6.q16.desktop qmmp_dir.desktop
dosbox.desktop qmmp_enqueue.desktop
driconf.desktop qtconfig-qt4.desktop
exo-file-manager.desktop scribus.desktop
exo-mail-reader.desktop svgcleaner.desktop
exo-preferred-applications.desktop synaptic.desktop
exo-terminal-emulator.desktop synaptic-kde.desktop
exo-web-browser.desktop systemadm.desktop
geany.desktop Thunar-bulk-rename.desktop
gimp.desktop Thunar.desktop
gksu.desktop Thunar-folder-handler.desktop
gtk-chtheme.desktop thunar-settings.desktop
htop.desktop thunar-volman-settings.desktop
inkscape.desktop transmission-gtk.desktop
kvantummanager.desktop transmission-qt.desktop
lxpokit.desktop virtualbox.desktop
lxqt-about.desktop vlc.desktop
lxqt-admin-time.desktop xfce4-accessibility-settings.desktop
lxqt-admin-user.desktop xfce4-appfinder.desktop
lxqt-config-appearance.desktop xfce4-clipman.desktop
lxqt-config.desktop xfce4-mime-settings.desktop
lxqt-config-file-associations.desktop xfce4-power-manager-settings.desktop
lxqt-config-input.desktop xfce4-run.desktop
lxqt-config-monitor.desktop xfce4-session-logout.desktop
lxqt-config-notificationd.desktop xfce4-settings-editor.desktop
lxqt-config-powermanagement.desktop xfce4-terminal.desktop
lxqt-config-session.desktop xfce-backdrop-settings.desktop
meld.desktop xfce-display-settings.desktop
mimeinfo.cache xfce-keyboard-settings.desktop
mirage.desktop xfce-mouse-settings.desktop
mousepad.desktop xfce-session-settings.desktop
notification-daemon.desktop xfce-settings-manager.desktop
obconf-qt.desktop xfce-ui-settings.desktop
openjdk-7-java.desktop xfce-wm-settings.desktop
openjdk-7-policytool.desktop xfce-wmtweaks-settings.desktop
opera.desktop xfce-workspaces-settings.desktop
panel-desktop-handler.desktop xinput_calibrator.desktop
ssf@debtop:~$
>Could you elaborate on these more?(I'm a Linux Newbie)
also i tried the use another menu file way and it worked
http://en.zimagez.com/zimage/2014-12-11 … 8scrot.php
also all my /etc/xdg files
https://drive.google.com/file/d/0B_2_ds … sp=sharing
note I also removed the guest account and all of its files before i relogged as guest to force xfce to reload all default settings(rewrite it's local config files)
deluser guest
rm -drf /home/guest
adduser guest
Last edited by sixsixfive (2014-12-11 11:23:04)
Offline
- Still not able to get the kiosk mode to work properly. I can lock the panel and desktop into kiosk mode, but I get a mostly default panel and desktop without added launchers. This happens even if I change all the 123456789.desktop to the proper "OriginalProgramName.desktop".
- I tried following your methods on a fresh Linux Mint 17 x64 install on a virtual machine (VirtualBox) without success. Achieved the same result of a locked panel, but with default settings (no added launchers).
note I also removed the guest account and all of its files before i relogged as guest to force xfce to reload all default settings(rewrite it's local config files)
deluser guest rm -drf /home/guest adduser guest
- I was really hoping deleting the user account and re-adding would do the trick, but alas it did not.
- Everything works fine up until you edit all xml files and replace "<channel name="$channelname" version="1.0">" with "<channel name="$channelname" version="1.0" locked="*" unlocked="root">". After modifying this line the panel and desktop are put into kiosk mode, but all the other settings seem to load from another config file.
- Kiosk mode (in my novice opinion) seems not to function correctly with Linux Mint 17.
- I think I'm going to write-lock / read only the .config folder for the "guest" account, so that any changes that are made will be reverted upon logout. Any tips on the proper way to do this? Should I use symlink as you suggested before? If so, how would I accomplish this?
-Thanks
Offline
did you create the default.xmls maybe they are necessary?
>- I think I'm going to write-lock
hm i wouln't lock the whole .config because the some applications save their settings, cache, etc there maybe only the wanted xfce xfconf folder/file
there is also the other great way to rsync or even(mv -f) all wanted folders or files on every login, just put the commands in ~/.profile and they will be executed on every login
http://www.tecmint.com/rsync-local-remo … n-commands
PS: you could also share your xml maybe there is some syntax error
Offline
Included the /home/administrator/.config folder as well as etc/xdg/xfce4 folder.
XMLs.7z
I did create the default.xmls with <locked="*" unlocked="root;administrator"> didn't seem to have an effect.
hm i wouln't lock the whole .config because the some applications save their settings, cache, etc there maybe only the wanted xfce xfconf folder/file
Good idea, when I tested it before I only locked the xfconf folder and that worked fine. I did try locking the whole /home/agent/ folder to see what happened... it prevented login completely.
there is also the other great way to rsync or even(mv -f) all wanted folders or files on every login, just put the commands in ~/.profile and they will be executed on every login
Thanks for this, I'm going to look into it more, might be some more things I want executed at login.
Offline
Also I wasn't able to launch a session with you configs because there are some settings missing eg the default panel size, position etc(so xfce is asking me every login if i want a default panel or an empty one)
eg see my panel xml which has set the default size and position:
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=6;x=0;y=0"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="uint" value="26"/>
<property name="plugin-ids" type="array">
and yours:
<property name="position" type="empty"/>
<property name="length" type="empty"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="empty"/>
I would recommend to do the following:
remove all you modified xmls from /etc/xdg
create a newuser, eg: test
adduser test
login as this user and set your settings, configure your panel and desktop trough their settings dialogs(make sure you unset and set every e checkbox/setting at least one time (as far as i understand xfconf those settings will only be written to the local config if you set them))
you can also see those settings with the xfce4-settings-editor
remove all those *rc and launcher folders from your /etc/xdg/panel dir(looks like you copied your whole local config to /etc/xdg) then modify your xml's again but this time remove the launchers as i said earlier
eg your shared config
<property name="plugin-16" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="14159091028.desktop"/>
</property>
</property>
<property name="plugin-17" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="14159091059.desktop"/>
</property>
</property>
<property name="plugin-18" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="141590910710.desktop"/>
</property>
</property>
<property name="plugin-19" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="141590910811.desktop"/>
</property>
</property>
<property name="plugin-20" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="141590911012.desktop"/>
</property>
</property>
<property name="plugin-21" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="141590917513.desktop"/>
</property>
</property>
would be
<property name="plugin-16" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="bria.desktop"/>
</property>
</property>
<property name="plugin-17" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="firefox.desktop"/>
</property>
</property>
<property name="plugin-18" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="chromium-browser.desktop"/>
</property>
</property>
<property name="plugin-19" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="teamviewer-teamviewer9.desktop"/>
</property>
</property>
<property name="plugin-20" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="vlc.desktop"/>
</property>
</property>
<property name="plugin-21" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="marble.desktop"/>
</property>
</property>
copy your configs to your /etc/xdg folder but this time copy only the xfce4-panel.xml, xfce4-desktop.xml and the 2 default.xmls
create your wanted guest user and login again
--------------------------------------------------------------
>Thanks for this, I'm going to look into it more, might be some more things I want executed at login.
you can also modify xfconf settings with xfconf-query:
http://docs.xfce.org/xfce/xfconf/xfconf-query
Last edited by sixsixfive (2014-12-13 10:09:10)
Offline
Sorry for the wait on a reply, had some other more pressing issues to deal with and didn't get a chance to try your instructions. Listed the steps I followed below.
Removed all modified .xml files from /etc/xdg/
Removed all launcher folders and rc files from /etc/xdg/panel/
Created new user "Test"
Configured new user "Test" panel and desktop
Unset and set all check boxes
Verified all settings with xfce4-settings-editor
Modified "###########.desktop" with appropriate "program_name.desktop" for "xfce4-panel.xml" and panel "default.xml"
Modified "xfce4-panel.xml" and panel "default.xml"
<property name="panel-1" type="empty">
<property name="position" type="empty"/>
<property name="length" type="empty"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="empty"/>
with
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=10;x=0;y=0"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="uint" value="32"/>
Copied "xfce4-panel.xml", "xfce4-desktop.xml" and the 2 "default.xmls" to /etc/xdg/
Modified "xfce4-panel.xml", "xfce4-desktop.xml" and the 2 "default.xmls" with "<channel name="$channelname" version="1.0" locked="*" unlocked="root;administrator">"
Created guest user "Agent"
Logged into user "Agent"
When I logged into the "Agent" user account I still had a mostly default panel and desktop as was illustrated in the last picture of my first post (Locked panel and desktop, but no launchers,customized settings,etc.).
Logging back into the "Test" user account (where the original .config .xml files came from) and it also had a locked panel and desktop, but also no launchers or customized settings.
By removing "<channel name="$channelname" version="1.0" locked="*" unlocked="root;administrator">" from the "xfce4-panel.xml" and "xfce4-desktop.xml" only, both "Test" and "Agent" accounts have the desired panel and desktop but they are NOT locked.
By removing "<channel name="$channelname" version="1.0" locked="*" unlocked="root;administrator">" from the 2 "default.xmls" only, the panel and desktop are locked, but have no launchers, customized settings, etc..
Since I can't get the kiosk mode to work correctly, I'm going to move on to reverting any changes that are made by either write-locking, mv -f, or symlink-ing the appropriate "guest" user files. Still open to more suggestions if you have any.
Thanks for all the help, sixsixfive. I owe you a beverage of your choosing.
Offline
Pages: 1
[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 644.48 KiB (Peak: 677.77 KiB) ]