Projects/Plasma/Kiosk: Difference between revisions

    From KDE TechBase
    No edit summary
    No edit summary
    Line 88: Line 88:
    <br>
    <br>


    <div class="secedit"><form class="button btn_secedit" method="post" action="/dokuwiki/doku.php"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="lines" value="584-3180" /><input type="hidden" name="rev" value="1247732343" /><input type="hidden" name="id" value="extern:howto:kde:kde4" /><input type="submit" value="Bearbeiten" class="button" title="Coding style of plasma-appletsrc" /></div></form></div>
    <h2><a name="configuration_tests_with_kde4" id="configuration_tests_with_kde4">Configuration Tests with KDE4</a></h2>
    <div class="level2">
    <ul>
    <li class="level1"><div class="li"> Version of KDE: 4.2.4</div>
    </li>
    <li class="level1"><div class="li"> Distribution: OpenSUSE 11.1</div>
    </li>
    <li class="level1"><div class="li"> Date of test: 07.07.2009</div>
    </li>


    <li class="level1"><div class="li"> Plasma config file: </div>
    <html>
    <ul>
    <body>
    <li class="level2"><div class="li"> <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187" class="urlextern" title="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187"  rel="nofollow">https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187</a></div>
    </li>
    <li class="level2"><div class="li"> created as normal user with 1 screen in resolution 800&times;600</div>
    </li>
    <li class="level2"><div class="li"> manually changed applets IDs to our standard</div>
    </li>


    <li class="level2"><div class="li"> manually removed some settings (by comments)</div>
    </li>
    <li class="level2"><div class="li"> manually locked some settings</div>
    </li>
    </ul>
    </li>
    <li class="level1"><div class="li"> KDE profile directories:</div>
    <ul>
    <li class="level2"><div class="li"> Basic settings: <a href="https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/" class="interwiki iw_xsvn" title="https://svn.dass-it/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/">lvermgeo?technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/</a> </div>


    </li>
    <li class="level2"><div class="li"> Restrictions (for all users, except admins): <a href="https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/" class="interwiki iw_xsvn" title="https://svn.dass-it/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/">lvermgeo?technical/config/client/11.1/var/lib/kde-profiles/vermkv_kiosk/</a></div>
    </li>
    <li class="level2"><div class="li"> Additional settings and menu entries for Headquarter:  <a href="https://guest:[email protected]/svn/lvermgeo/technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/">lvermgeo?technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/</a></div>
    </li>
    <li class="level2"><div class="li"> a default user in the headquarter uses following KDE configurations: <img src="/dokuwiki/lib/images/smileys/workinprogress.png" class="middle" alt=":WIP:" /> Ausgabe von <code>kde-config –path config</code> hinzufügen</div>


    </li>
    </body>
    </ul>
    </html
    </li>
    </ul>
    <table class="inline">
    <tr class="row0">
    <th class="col0 centeralign">  component  </th><th class="col1 centeralign">  Aim of Test  </th><th class="col2 centeralign">  Changes  </th><th class="col3 centeralign">  Expected Behaviour  </th><th class="col4 centeralign">  Observed Behaviour  </th><th class="col5 centeralign">  Result  </th>
     
    </tr>
    <tr class="row1">
    <td class="col0"> panel: resizing </td><td class="col1"> the desktop must stay usable after changing the screen resolution </td><td class="col2"> users uses krandrtray: 800&times;600 → 1024&times;768 </td><td class="col3"> panel should adapt to new screen resolution</td><td 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 </td><td class="col5 centeralign">  (<img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />)  </td>
     
    </tr>
    <tr class="row2">
    <td class="col0 rightalign">  </td><td class="col1 rightalign">  </td><td class="col2"> users uses krandrtray to resize screen resolution back to 800&times;600 </td><td class="col3"> panel should adapt to new screen resolution </td><td 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 </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row3">
    <td class="col0"> panel: moving the panel </td><td class="col1"> the user should be able, to move its panel to different positions </td><td class="col2"> location variable must not be locked with $i. Simply moving the panel by hand </td><td class="col3"> The ordering of the panel icons should stay in the same order und they should not overlap </td><td 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) </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row4">
    <td class="col0"> panel: Lock panel for user </td><td class="col1"> We want to be able, to modify the central panel configuration later on. Therefore it is required, that the applet IDs don&#039;t change. Therefore we disallow the user to add plasmoids or to move an applet in the panel </td><td class="col2"> lock the panel by setting <code>immutability=2</code> <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L26" class="urlextern" title="http://svn.dass-it/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L26"  rel="nofollow">here</a> </td><td class="col3"> We expected that the user can not add a new plasmoid and that the user can not unlock the panel </td><td 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 </td><td class="col5 centeralign">  (<img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />)  </td>
     
    </tr>
    <tr class="row5">
    <td class="col0"> Quicklauncher (locked) </td><td 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. </td><td class="col2"> Locked the <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L62" class="urlextern" rel="nofollow"> configuration of the quicklauchner with [$i] </a> </td><td class="col3"> The user shall not be able to remove or add any Icon </td><td class="col4"> Indeed the user is not able to add/remove any icon which is <strong>saved</strong> 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 </td><td class="col5 centeralign">  (<img src="/dokuwiki/lib/images/smileys/cross.png" class="middle" alt=":NO:" />)  </td>
     
    </tr>
    <tr class="row6">
    <td class="col0"> Quicklauncher: centrally adding icons </td><td class="col1"> The administrator should be able to add new icons later on </td><td class="col2"> I add a new icon for the firefox into the definition of different files in the configuration of the applet. </td><td 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.  </td><td class="col4"> The quicklauchner behaves as expected, it adds the new icon exactly at the place where I added it in the plasma-appletsrc. </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row7">
    <td class="col0"> Quicklauncher: users taskbar </td><td class="col1">The user shall have the possibility to add/remove icons from its <strong>own</strong> quicklauncher </td><td class="col2"> <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L89" class="urlextern" rel="nofollow">the configuration of the second quicklauncher isn&#039;t locked</a> </td><td 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 </td><td 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 </td><td class="col5 centeralign">  (<img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />)  </td>
     
    </tr>
    <tr class="row8">
    <td class="col0"> plasma: Dynamic number of virtual desktops </td><td class="col1"> the user should be able to change the number of virtual desktops </td><td class="col2"> increase and decrease the number of virtual desktops </td><td 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. </td><td 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. </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row9">
    <td class="col0"> lauchner: administrator change the type of launcher </td><td class="col1"> exchange the launcher with the old „traditional“ launcher </td><td class="col2"> Change the plugin from launcher to <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/vermkv_base/share/config/plasma-appletsrc?rev=5187#L48" class="urlextern" rel="nofollow">simplelauncher. Lock the launcher plugin [$i</a>] </td><td class="col3"> The Panel shall simply show the traditional launcher instead of the new one. </td><td class="col4"> The panel behaves as expected, instead of the big launcher it shows the simple small one </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row10">
    <td class="col0"> lauchner: user change the type of launcher </td><td class="col1"> alternativly the administrator changing the lauchner type, allow the user to change it to old „traditional“ launcher </td><td class="col2"> right-click on the launcher button and change it to „traditional“ </td><td 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 </td><td 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. </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row11">
    <td class="col0"> launcher: disable menu entries </td><td class="col1"> Disable icon or programs in the launcher (kmenu) for a specific group </td><td class="col2"> set TryExec to a program, for which the user have no execute rights </td><td 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  </td><td 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.</td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row12">
    <td class="col0"> </td><td class="col1"> </td><td class="col2"> Set the permissions for the user so that the .desktop file is not accessible for the user/group </td><td class="col3 leftalign"> The icon should not come up in the menu, because the user does not have the necessary permissions  </td><td class="col4">The menu point (.desktop file), which I move to /usr/share/applications/kde4/ was not visible  for the user or a group.</td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
    </tr>
     
    <tr class="row13">
    <td class="col0"> </td><td class="col1"> </td><td class="col2"> Set the hidden variable to true so that the icon disappear in the menu </td><td 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  </td><td 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  </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
    </tr>
    <tr class="row14">
     
    <td class="col0"> launcher: disable menu entries </td><td class="col1 centeralign">  Make menues accessible for  </td><td class="col2"> make changes to existing applications in additional .desktop files in profil directory </td><td class="col3 centeralign">  Menupoints in the Kmenu shall appear or disappear whether they are accessible for the user/group or not  </td><td 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 </td><td class="col5 centeralign">  (<img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />)  </td>
    </tr>
     
    <tr class="row15">
    <td class="col0"> launcher: additional folders for specific users </td><td class="col1 leftalign"> add a menu folder where specific programs are shown  </td><td class="col2"> Add the folder in the profile <a href="https://guest:[email protected]/lvermgeo/browser/technical/config/client/11.1/var/lib/kde-profiles/lvermgeo_menu/share/applnk/lvermgeo-only?rev=5195" class="urlextern" rel="nofollow">directory</a>. In this directory I specified other folder with the content of .desktop files</td><td class="col3"> For a specific user group another folder show up in the kmenu so that their are additional programs for the user </td><td class="col4"> The folder appears in the Kmenu and with the variable <a href="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" class="urlextern" rel="nofollow">Hidden=true/false</a> it is possible to do something like a test, so that the folder do not appear for special  groups/users </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row16">
    <td class="col0"> </td><td class="col1"> </td><td 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 </td><td class="col3"> The Kmenu should show the new submenu, together with desktop icons which are related to the category </td><td class="col4"> It does not work at all, the Kmenu/panel/plasma crashed immediately if I edit the xdg menu files. </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/cross.png" class="middle" alt=":NO:" />  </td>
    </tr>
     
    <tr class="row17">
    <td class="col0"> action restrictions: menu entries </td><td class="col1"> </td><td class="col2"> </td><td class="col3 leftalign">KDE shall block parts of settings such as kmenuedit through the kde globals. As it is implied on the KDE <a href="http://techbase.kde.org/KDE_System_Administration/Kiosk/Keys" class="urlextern" title="http://techbase.kde.org/KDE_System_Administration/Kiosk/Keys"  rel="nofollow">Techbase</a>.  </td><td class="col4 centeralign">  This does not work, currently just the restrictions for the konsole are working.  </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/cross.png" class="middle" alt=":NO:" />  </td>
    </tr>
     
    <tr class="row18">
    <td class="col0"> configuration restrictions: systemsettings </td><td class="col1"> Make icons in the systemsettings invisble for certain users or groups </td><td class="col2">Create a settings-*.desktop file in <a href="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" class="urlextern" rel="nofollow">Example</a> and add a <em class="u">TryExec</em>=/bin/false </td><td class="col3"> The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them </td><td class="col4">As expected the icons disappear and the user is not able to reach it for his/her usage. </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    <tr class="row19">
    <td class="col0 rightalign">  </td><td class="col1 rightalign">  </td><td class="col2">Create a settings-*.desktop file in <a href="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" class="urlextern" rel="nofollow">Example</a> and add a <em class="u">Hidden</em>=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</td><td class="col3"> The icon for configuration in the systemsetting have to be hidden/invisible so that user can not modify them </td><td 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 <a href="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" class="urlextern" rel="nofollow">Hidden</a>[$e]=  </td><td class="col5 centeralign">  <img src="/dokuwiki/lib/images/smileys/tick.png" class="middle" alt=":YES:" />  </td>
     
    </tr>
    </table>
     
    </div>
    <div class="secedit"><form class="button btn_secedit" method="post" action="/dokuwiki/doku.php"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="lines" value="3181-14408" /><input type="hidden" name="rev" value="1247732343" /><input type="hidden" name="id" value="extern:howto:kde:kde4" /><input type="submit" value="Bearbeiten" class="button" title="Configuration Tests with KDE4" /></div></form></div>
    <h3><a name="comments_work_in_progress" id="comments_work_in_progress">Comments, work in progress:</a></h3>
    <div class="level3">
     
    </div>
     
    <h5><a name="combine_configurations" id="combine_configurations">Combine configurations</a></h5>
    <div class="level5">
    <ul>
    <li class="level1"><div class="li"> combine configurations of .desktop files in your own profile with the ones which are set in /usr/share/applications</div>
     
    <ol>
    <li class="level2"><div class="li"> created a .desktop file with an identical name in applnk profile folder and just added a line like: Hidden=true</div>
    </li>
    <li class="level2"><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>
    </li>
    </ol>
    </li>
    <li class="level1"><div class="li"> add a new programm/.desktop file to a special category in the kde menu</div>
    <ol>
    <li class="level2"><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>
     
    </li>
    </ol>
    </li>
    </ul>
     
    </div>

    Revision as of 08:58, 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



    <html> <body>


    </body> </html