Xfce Forum

Sub domains
 

You are not logged in.

#1 2014-12-03 18:16:00

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Panel and Desktop Kiosk Mode settings

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.

Desired Panel and Desktop

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.

kioskrc Settings

panel.xml Settings

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)

Panel and Desktop with Kiosk mode ON

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

#2 2014-12-08 16:59:45

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Re: Panel and Desktop Kiosk Mode settings

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

#3 2014-12-08 18:48:09

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 11,205

Re: Panel and Desktop Kiosk Mode settings

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

#4 2014-12-08 21:41:58

sixsixfive
Member
From: behind you
Registered: 2012-04-08
Posts: 579
Website

Re: Panel and Desktop Kiosk Mode settings

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)

snapshot1119.png

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

#5 2014-12-10 20:03:25

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Re: Panel and Desktop Kiosk Mode settings

Thanks for the responses.

ToZ wrote:

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.

sixsixfive wrote:
[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!

sixsixfive wrote:
    <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.

sixsixfive wrote:
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

#6 2014-12-11 11:18:25

sixsixfive
Member
From: behind you
Registered: 2012-04-08
Posts: 579
Website

Re: Panel and Desktop Kiosk Mode settings

>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

#7 2014-12-11 22:22:46

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Re: Panel and Desktop Kiosk Mode settings

- 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).

sixsixfive wrote:

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

#8 2014-12-11 23:44:36

sixsixfive
Member
From: behind you
Registered: 2012-04-08
Posts: 579
Website

Re: Panel and Desktop Kiosk Mode settings

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

#9 2014-12-12 20:00:53

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Re: Panel and Desktop Kiosk Mode settings

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.

sixsixfive wrote:

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.

sixsixfive wrote:

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

Thanks for this, I'm going to look into it more, might be some more things I want executed at login.

Offline

#10 2014-12-13 09:27:45

sixsixfive
Member
From: behind you
Registered: 2012-04-08
Posts: 579
Website

Re: Panel and Desktop Kiosk Mode settings

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

#11 2014-12-18 19:56:36

Elecweasel
Member
Registered: 2014-11-12
Posts: 6

Re: Panel and Desktop Kiosk Mode settings

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. cool

Offline

Board footer

Powered by FluxBB