Projects/Plasma/Kiosk: Difference between revisions

From KDE TechBase
(immutable: fixes description)
(describtion of process)
 
(8 intermediate revisions by the same user not shown)
Line 61: Line 61:
<br>  
<br>  


==== Immutability<br> ====
==== Immutability<br> ====


Just a short deep dive into the topic of immutablity.<br>
Just a short deep dive into the topic of immutablity.<br>  


<br>
<br>  


{| cellspacing="1" cellpadding="1" border="1" style="width: 532px; height: 103px;"
{| cellspacing="1" cellpadding="1" border="1" style="width: 532px; height: 103px;"
|-
|-
! scope="col" | <br>
! scope="col" | <br>  
! scope="col" | Level<br>
! scope="col" | Level<br>  
! scope="col" | <br>
! scope="col" | <br>
|-
|-
| panel<br>
| panel<br>  
| 2 <br>
| 2 <br>  
| prevent moving, configuring the panel<br>
| prevent moving, configuring the panel<br>
|-
|-
| <br>
| <br>  
| <br>
| <br>  
| prevents adding or moving applets, BUT does not prevent to delete an applet (as long, as it is itself not immutable=2)<br>
| prevents adding or moving applets, BUT does not prevent to delete an applet (as long, as it is itself not immutable=2)<br>
|-
|-
| applet<br>
| applet<br>  
| 2<br>
| 2<br>  
| prevents configuring and deleting this applet <br>
| prevents configuring and deleting this applet <br>
|}
|}


<br>
<br> <br>
 
== Configuration Tests with KDE4  ==
 
We (dassIT GmbH) are currently evaluating the possibilities of KDE4 Desktop Environment, for a customer with around 2000 clients. This clients are currently running on KDE3 . This installations are based on centralized profiles. 
 
<div class="level2">
*<div class="li">Version of KDE: 4.2.4</div>
*<div class="li">Distribution: OpenSUSE 11.1</div>
*<div class="li">Date of test: 07.07.2009</div>
*<div class="li">Plasma config file: </div>
**<div class="li">[https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187 Version]</div>
**<div class="li">created as normal user with 1 screen in resolution 800×600</div>
**<div class="li">manually changed applets IDs to our standard</div>
**<div class="li">manually removed some settings (by comments)</div>
**<div class="li">manually locked some settings</div>
*<div class="li">KDE profile directories:</div>
**<div class="li">Basic settings: [https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/ vermkv_base] </div>
**<div class="li">Restrictions (for all users, except admins): [https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/ vermkv_kiosk]</div>
**<div class="li">Additional settings and menu entries for Headquarter: [https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/ lvermgeo_menu]</div>
**<div class="li">a default user in the headquarter uses following KDE configurations: will follow&nbsp;!</div>
 
{| class="inline" border="1"
|- class="row0"
! class="col0 centeralign" | component
! class="col1 centeralign" | Aim of Test
! class="col2 centeralign" | Changes
! class="col3 centeralign" | Expected Behaviour
! class="col4 centeralign" | Observed Behaviour
! class="col5 centeralign" | Result
|- class="row1"
| class="col0" | panel: resizing
| class="col1" | the desktop must stay usable after changing the screen resolution
| class="col2" | users uses krandrtray: 800×600 → 1024×768
| class="col3" | panel should adapt to new screen resolution
| class="col4" | The panel does not adapt itself directly to the new resolution. Initially, it stays at the configured size, but if more applications are opened (plugin=tasks), the panel gets broader. But the panel stays at the left side of the screen. An auto positioning like „center“ would help
| class="col5 centeralign" | (+)
|- class="row2"
| class="col0 rightalign" | <br>
| class="col1 rightalign" | <br>
| class="col2" | users uses krandrtray to resize screen resolution back to 800×600
| class="col3" | panel should adapt to new screen resolution
| class="col4" | The panel adapts itself without any problem to a smaller size of the panel. This works also in case there were many windows open. The panel will than decrease automatically
| class="col5 centeralign" | +
|- class="row3"
| class="col0" | panel: moving the panel
| class="col1" | the user should be able, to move its panel to different positions
| class="col2" | location variable must not be locked with $i. Simply moving the panel by hand
| class="col3" | The ordering of the panel icons should stay in the same order und they should not overlap
| class="col4" | Moving the panel works without any damage on the panel (damage in this case means complete destruction or at least it becomes unusable)
| class="col5 centeralign" | +
|- class="row4"
| class="col0" | panel: Lock panel for user
| class="col1" | We want to be able, to modify the central panel configuration later on. Therefore it is required, that the applet IDs don't change. Therefore we disallow the user to add plasmoids or to move an applet in the panel
| class="col2" | lock the panel by setting [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L26 like here]
| class="col3" | We expected that the user can not add a new plasmoid and that the user can not unlock the panel
| class="col4" | Indeed the user was not able to add a new plasmoid to the panel and it was not possible as well to unlock the panel. But still, on right-click, the option „unlock panel“ is visible (but without function). Please make it invisible
| class="col5 centeralign" | (+)
|- class="row5"
| class="col0" | Quicklauncher (locked)
| class="col1" | There shall be 2 quicklaunchers one for the system configuration and one for the users. The one for the system shall be fixed.
| class="col2" |
Locked the [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L62 configuration] of the quicklauchner with [$i]
 
| class="col3" | The user shall not be able to remove or add any Icon
| class="col4" | Indeed the user is not able to add/remove any icon which is '''saved''' afterwards, but during the normal session the user is able to modify it. After restarting Plasma the Quicklauncher resets to it configured icon set. But we would like to have that the user do not even have the possibilty to click on such a button to add or remove
| class="col5 centeralign" | (-)
|- class="row6"
| class="col0" | Quicklauncher: centrally adding icons
| class="col1" | The administrator should be able to add new icons later on
| class="col2" | I add a new icon for the firefox into the definition of different files in the configuration of the applet.
| class="col3 leftalign" | The place where I add the new icon in the row of files, is also the place where it is later on shown in the launchbar. So it shall be very easy for the admin to add a new icon.
| class="col4" | The quicklauchner behaves as expected, it adds the new icon exactly at the place where I added it in the plasma-appletsrc.
| class="col5 centeralign" | +
|- class="row7"
| class="col0" | Quicklauncher: users taskbar
| class="col1" | The user shall have the possibility to add/remove icons from its '''own''' quicklauncher
| class="col2" | [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L89 the configuration] of the second quicklauncher isn't locked
| class="col3" | The user shall be able to add and remove icons from its taskbar, either through the button Add/Remove which you can access through a right click on the quicklauncher or by drag and drop
| class="col4" | The user is able to add/remove icons by right-click. Drag-and-Drop is not supported in KDE 4.2.4, but it should be supported in KDE 4.3
| class="col5 centeralign" | (+)
|- class="row8"
| class="col0" | plasma: Dynamic number of virtual desktops
| class="col1" | the user should be able to change the number of virtual desktops
| class="col2" | increase and decrease the number of virtual desktops
| class="col3" | I would expected that the space of the virtual desktop part becomes smaller or bigger and of course that the complete panel it self becomes more space or less.
| class="col4" | The panel behave as expected without any problem, it also safe the different number of desktop so that when for the next session they are restored.
| class="col5 centeralign" | +
|- class="row9"
| class="col0" | lauchner: administrator change the type of launcher
| class="col1" | exchange the launcher with the old „traditional“ launcher
| class="col2" | Change the plugin from launcher to [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L48 simplelauncher]. Lock the launcher plugin [$i]
| class="col3" | The Panel shall simply show the traditional launcher instead of the new one.
| class="col4" | The panel behaves as expected, instead of the big launcher it shows the simple small one
| class="col5 centeralign" | +
|- class="row10"
| class="col0" | lauchner: user change the type of launcher
| class="col1" | alternativly the administrator changing the lauchner type, allow the user to change it to old „traditional“ launcher
| class="col2" | right-click on the launcher button and change it to „traditional“
| class="col3" | the panel shall show the traditional launcher instead of the new one, but if the plugin is locked in the beginning with $i changig the launcher is not possible
| class="col4" | Because of the pre fixed plugin a new launcher can not be created and a new ID can not be given so such problem does not occur.
| class="col5 centeralign" | +
|- class="row11"
| class="col0" | launcher: disable menu entries
| class="col1" | Disable icon or programs in the launcher (kmenu) for a specific group
| class="col2" | set TryExec to a program, for which the user have no execute rights
| class="col3 leftalign" | The icon should not come up in the menu, unless your are a member of a program for which the program defined in TryExec is accessible
| class="col4" | The menu point (.desktop file), which I move to /usr/share/applications/kde4/ was visible if the TryExec was accessible for the user, if not it was indeed invisible.
| class="col5 centeralign" | +
|- class="row12"
| class="col0" | <br>
| class="col1" | <br>
| class="col2" | Set the permissions for the user so that the .desktop file is not accessible for the user/group
| class="col3 leftalign" | The icon should not come up in the menu, because the user does not have the necessary permissions
| class="col4" | The menu point (.desktop file), which I move to /usr/share/applications/kde4/ was not visible for the user or a group.
| class="col5 centeralign" | +
|- class="row13"
| class="col0" | <br>
| class="col1" | <br>
| class="col2" | Set the hidden variable to true so that the icon disappear in the menu
| class="col3 leftalign" | The icon where hidden=true is set should not appear in the menu either for this group (if I connect it with a test for groups) or at all
| class="col4 leftalign" | Works, if you edit and add the line Hidden=true in a .desktop file in /usr/share/applications/kde4 the icon disappear in the menu and vise versa
| class="col5 centeralign" | +
|- class="row14"
| class="col0" | launcher: disable menu entries
| class="col1 centeralign" | Make menues accessible for
| class="col2" | make changes to existing applications in additional .desktop files in profil directory
| class="col3 centeralign" | Menupoints in the Kmenu shall appear or disappear whether they are accessible for the user/group or not
| class="col4 rightalign" | If the changes are made in the .directory file of the applnk folder indeed the menues does appear depending on the group or the user. Merging .desktop files does not work currently
| class="col5 centeralign" | (+)
|- class="row15"
| class="col0" | launcher: additional folders for specific users
| class="col1 leftalign" | add a menu folder where specific programs are shown
| class="col2" | Add the folder in the profile [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/share/applnk/lvermgeo-only?rev=5195 applnk]. In this directory I specified other folder with the content of .desktop files
| class="col3" | For a specific user group another folder show up in the kmenu so that their are additional programs for the user
| class="col4" | The folder appears in the Kmenu and with the variable [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/share/applnk/lvermgeo-only/.directory?rev=5195#L3 .directory] it is possible to do something like a test, so that the folder do not appear for special groups/users
| class="col5 centeralign" | +
|- class="row16"
| class="col0" | <br>
| class="col1" | <br>
| class="col2" | Specify listed appilcations through the directory applications (the xdg way). Modify the file/files in /etc/xdg/menus/applications.menu.kde* and add a new menu point
| class="col3" | The Kmenu should show the new submenu, together with desktop icons which are related to the category
| class="col4" | It does not work at all, the Kmenu/panel/plasma crashed immediately if I edit the xdg menu files.
| class="col5 centeralign" | -
|- class="row17"
| class="col0" | action restrictions: menu entries
| class="col1" | <br>
| class="col2" | <br>
| class="col3 leftalign" | KDE shall block parts of settings such as kmenuedit through the kde globals. As it is implied on the KDE[http://techbase.kde.org/KDE_System_Administration/Kiosk/Keys Techbase].
| class="col4 centeralign" | This does not work, currently just the restrictions for the konsole are working.
| class="col5 centeralign" | -
|- class="row18"
| class="col0" | configuration restrictions: systemsettings
| class="col1" | Make icons in the systemsettings invisble for certain users or groups
| class="col2" | Create a settings-*.desktop file in [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/share/kde4/services/settings-display.desktop?rev=5196#L2 file] and add a ''TryExec''=/bin/false
| class="col3" | The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them
| class="col4" | As expected the icons disappear and the user is not able to reach it for his/her usage.
| class="col5 centeralign" | +
|- class="row19"
| class="col0 rightalign" | <br>
| class="col1 rightalign" | <br>
| class="col2" | Create a settings-*.desktop file in [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/share/kde4/services/settings-desktop.desktop?rev=5196#L2 file] and add a ''Hidden''=false/true you can also connect it to a test, if you choose a test you have to add the [$e] otherwise the test is not executable
| class="col3" | The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them
| class="col4 leftalign" | As expected the icons disappear and the user is not able to reach it for his/her usage. Connected with a test, a special group can be checked through a additional [https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/share/kde4/services/settings-desktop.desktop?rev=5196#L2 Hidden][$e]=
| class="col5 centeralign" | +
|}
</div> <div class="secedit"><br></div>
=== Comments, work in progress:  ===


<br>
Currently not working in our test environment.
<div class="level3"></div>
===== Combine configurations  =====
<div class="level5">
*<div class="li">combine configurations of .desktop files in your own profile with the ones which are set in /usr/share/applications</div>
*#<div class="li">created a .desktop file with an identical name in applnk profile folder and just added a line like: Hidden=true</div>
*#<div class="li">to make sure that the configurations are really not merged I also tried TryExec=/bin/false the result was the same the icon in the menu still appears</div>
*<div class="li">add a new programm/.desktop file to a special category in the kde menu</div>
*#<div class="li">if I set the category variable in a .desktop file to the name of the categories, like games or office but the icon does not appear. I saved the .desktop file to applnk </div>
</div>

Latest revision as of 14:30, 16 July 2009

Kiosk Configuration Parameters

This page shall give you an breath overview, over the main variables which can be set in the plasma-appletsrc. They might be helpful for centralized configurations like Kiosk. The normal users DOES NOT need them in their daily business.

I will now just shortly cover the main variables which can be found in the configuration file.

Coding of a Panel


Variables
Explanation
desktop

fmrmfactor

immutability
This number indicates wheter a panel is locked (Value: 2) or if the panel is editable (Value:1 )
location
The value which is set with this variable describes the location of the containment on the desktop (eg. Value: 4, this indicates that the panel is at the bottom)
plugin
Type of plugin, in this example it is the definition of a panel for the plasma desktop
screen
This variable indicates whether a plugin (in this case the panel) shall be always on top (Value: 1) or if overlapping is possible (Value: 0)


Coding a Plasmoid

Lets assume we integrated a plasmoid into our panel.


Variable
Explanation
geometry X,Y,H,W
With this variable we tell the plasmoid at which place we can find it in the panel, it is set through the X-position, y-position. The following last 2 variables are the height and width for the icon, so that plasma can rescale it
immutability
default value is 1. Setting it to 2 disables the possibilities to configure it (configuring includes moving and deleting).
plugin
Defining the type of plugin which should be integrated into the panel, eg. the launcher (KDE4 standard launcher), simplelauncher (KDE3 like launcher)
zvalue


Immutability

Just a short deep dive into the topic of immutablity.



Level

panel
2
prevent moving, configuring the panel


prevents adding or moving applets, BUT does not prevent to delete an applet (as long, as it is itself not immutable=2)
applet
2
prevents configuring and deleting this applet



Configuration Tests with KDE4

We (dassIT GmbH) are currently evaluating the possibilities of KDE4 Desktop Environment, for a customer with around 2000 clients. This clients are currently running on KDE3 . This installations are based on centralized profiles.

  • Version of KDE: 4.2.4
  • Distribution: OpenSUSE 11.1
  • Date of test: 07.07.2009
  • Plasma config file:
    • created as normal user with 1 screen in resolution 800×600
    • manually changed applets IDs to our standard
    • manually removed some settings (by comments)
    • manually locked some settings
  • KDE profile directories:
    • Basic settings: vermkv_base
    • Restrictions (for all users, except admins): vermkv_kiosk
    • Additional settings and menu entries for Headquarter: lvermgeo_menu
    • a default user in the headquarter uses following KDE configurations: will follow !
component Aim of Test Changes Expected Behaviour Observed Behaviour Result
panel: resizing the desktop must stay usable after changing the screen resolution users uses krandrtray: 800×600 → 1024×768 panel should adapt to new screen resolution The panel does not adapt itself directly to the new resolution. Initially, it stays at the configured size, but if more applications are opened (plugin=tasks), the panel gets broader. But the panel stays at the left side of the screen. An auto positioning like „center“ would help (+)


users uses krandrtray to resize screen resolution back to 800×600 panel should adapt to new screen resolution The panel adapts itself without any problem to a smaller size of the panel. This works also in case there were many windows open. The panel will than decrease automatically +
panel: moving the panel the user should be able, to move its panel to different positions location variable must not be locked with $i. Simply moving the panel by hand The ordering of the panel icons should stay in the same order und they should not overlap Moving the panel works without any damage on the panel (damage in this case means complete destruction or at least it becomes unusable) +
panel: Lock panel for user We want to be able, to modify the central panel configuration later on. Therefore it is required, that the applet IDs don't change. Therefore we disallow the user to add plasmoids or to move an applet in the panel lock the panel by setting like here We expected that the user can not add a new plasmoid and that the user can not unlock the panel Indeed the user was not able to add a new plasmoid to the panel and it was not possible as well to unlock the panel. But still, on right-click, the option „unlock panel“ is visible (but without function). Please make it invisible (+)
Quicklauncher (locked) There shall be 2 quicklaunchers one for the system configuration and one for the users. The one for the system shall be fixed.

Locked the configuration of the quicklauchner with [$i]

The user shall not be able to remove or add any Icon Indeed the user is not able to add/remove any icon which is saved afterwards, but during the normal session the user is able to modify it. After restarting Plasma the Quicklauncher resets to it configured icon set. But we would like to have that the user do not even have the possibilty to click on such a button to add or remove (-)
Quicklauncher: centrally adding icons The administrator should be able to add new icons later on I add a new icon for the firefox into the definition of different files in the configuration of the applet. The place where I add the new icon in the row of files, is also the place where it is later on shown in the launchbar. So it shall be very easy for the admin to add a new icon. The quicklauchner behaves as expected, it adds the new icon exactly at the place where I added it in the plasma-appletsrc. +
Quicklauncher: users taskbar The user shall have the possibility to add/remove icons from its own quicklauncher the configuration of the second quicklauncher isn't locked The user shall be able to add and remove icons from its taskbar, either through the button Add/Remove which you can access through a right click on the quicklauncher or by drag and drop The user is able to add/remove icons by right-click. Drag-and-Drop is not supported in KDE 4.2.4, but it should be supported in KDE 4.3 (+)
plasma: Dynamic number of virtual desktops the user should be able to change the number of virtual desktops increase and decrease the number of virtual desktops I would expected that the space of the virtual desktop part becomes smaller or bigger and of course that the complete panel it self becomes more space or less. The panel behave as expected without any problem, it also safe the different number of desktop so that when for the next session they are restored. +
lauchner: administrator change the type of launcher exchange the launcher with the old „traditional“ launcher Change the plugin from launcher to simplelauncher. Lock the launcher plugin [$i] The Panel shall simply show the traditional launcher instead of the new one. The panel behaves as expected, instead of the big launcher it shows the simple small one +
lauchner: user change the type of launcher alternativly the administrator changing the lauchner type, allow the user to change it to old „traditional“ launcher right-click on the launcher button and change it to „traditional“ the panel shall show the traditional launcher instead of the new one, but if the plugin is locked in the beginning with $i changig the launcher is not possible Because of the pre fixed plugin a new launcher can not be created and a new ID can not be given so such problem does not occur. +
launcher: disable menu entries Disable icon or programs in the launcher (kmenu) for a specific group set TryExec to a program, for which the user have no execute rights The icon should not come up in the menu, unless your are a member of a program for which the program defined in TryExec is accessible The menu point (.desktop file), which I move to /usr/share/applications/kde4/ was visible if the TryExec was accessible for the user, if not it was indeed invisible. +


Set the permissions for the user so that the .desktop file is not accessible for the user/group The icon should not come up in the menu, because the user does not have the necessary permissions The menu point (.desktop file), which I move to /usr/share/applications/kde4/ was not visible for the user or a group. +


Set the hidden variable to true so that the icon disappear in the menu The icon where hidden=true is set should not appear in the menu either for this group (if I connect it with a test for groups) or at all Works, if you edit and add the line Hidden=true in a .desktop file in /usr/share/applications/kde4 the icon disappear in the menu and vise versa +
launcher: disable menu entries Make menues accessible for make changes to existing applications in additional .desktop files in profil directory Menupoints in the Kmenu shall appear or disappear whether they are accessible for the user/group or not If the changes are made in the .directory file of the applnk folder indeed the menues does appear depending on the group or the user. Merging .desktop files does not work currently (+)
launcher: additional folders for specific users add a menu folder where specific programs are shown Add the folder in the profile applnk. In this directory I specified other folder with the content of .desktop files For a specific user group another folder show up in the kmenu so that their are additional programs for the user The folder appears in the Kmenu and with the variable .directory it is possible to do something like a test, so that the folder do not appear for special groups/users +


Specify listed appilcations through the directory applications (the xdg way). Modify the file/files in /etc/xdg/menus/applications.menu.kde* and add a new menu point The Kmenu should show the new submenu, together with desktop icons which are related to the category It does not work at all, the Kmenu/panel/plasma crashed immediately if I edit the xdg menu files. -
action restrictions: menu entries

KDE shall block parts of settings such as kmenuedit through the kde globals. As it is implied on the KDETechbase. This does not work, currently just the restrictions for the konsole are working. -
configuration restrictions: systemsettings Make icons in the systemsettings invisble for certain users or groups Create a settings-*.desktop file in file and add a TryExec=/bin/false The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them As expected the icons disappear and the user is not able to reach it for his/her usage. +


Create a settings-*.desktop file in file and add a Hidden=false/true you can also connect it to a test, if you choose a test you have to add the [$e] otherwise the test is not executable The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them As expected the icons disappear and the user is not able to reach it for his/her usage. Connected with a test, a special group can be checked through a additional Hidden[$e]= +

Comments, work in progress:

Currently not working in our test environment.

Combine configurations
  • combine configurations of .desktop files in your own profile with the ones which are set in /usr/share/applications
    1. created a .desktop file with an identical name in applnk profile folder and just added a line like: Hidden=true
    2. to make sure that the configurations are really not merged I also tried TryExec=/bin/false the result was the same the icon in the menu still appears
  • add a new programm/.desktop file to a special category in the kde menu
    1. if I set the category variable in a .desktop file to the name of the categories, like games or office but the icon does not appear. I saved the .desktop file to applnk