From 66c5602f5818d46f618b4dacaaf8bdc00cfacdd2 Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Fri, 31 Jan 2014 14:03:54 -0600 Subject: Move Administrator Guide from User Guide to standalone handbook. --- doc/userguide/base-tde-applications.docbook | 2 +- doc/userguide/credits-and-license.docbook | 10 +- doc/userguide/groupware-kontact.docbook | 614 ------ doc/userguide/index.docbook | 15 - doc/userguide/tde-for-admins.docbook | 2732 --------------------------- doc/userguide/under-the-hood.docbook | 9 +- doc/userguide/your-tde-account.docbook | 3 +- 7 files changed, 14 insertions(+), 3371 deletions(-) delete mode 100644 doc/userguide/groupware-kontact.docbook delete mode 100644 doc/userguide/tde-for-admins.docbook (limited to 'doc/userguide') diff --git a/doc/userguide/base-tde-applications.docbook b/doc/userguide/base-tde-applications.docbook index 2a5ef53c9..2a5ccb1c1 100644 --- a/doc/userguide/base-tde-applications.docbook +++ b/doc/userguide/base-tde-applications.docbook @@ -83,7 +83,7 @@ A GUI front-end to the powerful &DCOP; (Desktop COmmunications Protocol). &DCOP; provides a comprehensive protocol for interprocess communication between &tde; applications. While this is increasingly useful to &tde; programmers, it is also beneficial to the ordinary user who would want to create a script, or, say, a SuperKaramba theme. - In the User Guide and + In the User Guide and The &tde; Administrator Guide Other Documentation: http://developer.kde.org/documentation/library/kdeqt/dcop.html diff --git a/doc/userguide/credits-and-license.docbook b/doc/userguide/credits-and-license.docbook index 14fe777bb..c88ba4873 100644 --- a/doc/userguide/credits-and-license.docbook +++ b/doc/userguide/credits-and-license.docbook @@ -24,7 +24,8 @@ -Wrote the notes which became . +Wrote the notes which became The &tde; +Administrator Guide. @@ -207,7 +208,8 @@ linkend="file-manager"/> and . Wrote . -Marked up parts of . +Marked up parts of The &tde; +Administrator Guide. @@ -270,8 +272,8 @@ linkend="file-manager"/> and . Wrote . -Marked up parts of . +Marked up parts of The &tde; +Administrator Guide. diff --git a/doc/userguide/groupware-kontact.docbook b/doc/userguide/groupware-kontact.docbook deleted file mode 100644 index 66de1113a..000000000 --- a/doc/userguide/groupware-kontact.docbook +++ /dev/null @@ -1,614 +0,0 @@ - - - - - - -Marco -Menardi - -gnu@kde.org - - - - - - -Sharing data with &kontact; via <acronym>IMAP</acronym> - - -Introduction - -For my small office, I was looking for a long time for a -PIM solution that let me share data, so my secretary and -I can share contacts, appointments and so on. Being a &tde; user, I've heard -about the Kroupware project and wait its completion. But when I saw how -complicated is the architecture and setup of the -Kolab server 1.0 (the server side of the -project), I gave up, waiting for an easier to deploy -Kolab 2.0. In any case, the -Kolab stuff was clearly too much for my -needs. Fortunately in the &tde; wiki I've found some piece of -IRC conversation where they were talking about sharing -data without the Kolab infrastructure... mmm so -interesting! - -For small offices and needs, you can have &kontact; use shared data -without the need of installing the Kolab server -or another groupware backend. It can work with just an -IMAP server, that can be easily set up. - -My scenario is a server with Debian unstable and &tde; 3.4. I access -&kontact; and other fabulous GNU/Linux apps from windows using Cygwin/X, -while waiting Wine project to be able to run the last Windows programs I -need (and that are not available under GNU/Linux). I want to share contacts, -events, todo, notes with my secretary. - - - - -What is <acronym>IMAP</acronym> - -This definition is from the ComputerUser.com High-Tech Dictionary: -
Internet Message Access Protocol. A protocol that allows a -user to perform certain electronic mail functions on a remote server rather -than on a local computer. Through IMAP the user can create, delete, or -rename mailboxes; get new messages; delete messages; and perform search -functions on mail. A separate protocol is required for sending mail. Also -called Internet Mail Access Protocol.
- -So it can be considered a data storage. To use it you you need an -IMAP server, such as Cyrus, -Courier or UW. - -
- - -<application>Kolab</application> or <acronym>IMAP</acronym>? - -Kolab brings the ability to share data -between different clients. It makes possible for your secretary to use -Outlook and you use &kontact;, for -instance. - -You will have a configuration interface which does user management, mail -account setup, a central LDAP config data and addressbook -server, spam and virus filtering, vacation scripts, free busy list handling, -resource handling (rooms, cars), groups, distribution lists, automatic -invitation handling, &etc; - -But that can cause initial setup troubles. For a newbie like me it -means: a long long frustrating nightmare, and too much complexity to manage -once working. So no, thanks, I'll go to simple -IMAP. - - - - -How to set up <acronym>IMAP</acronym> server <application>Cyrus</application> - -My choice is Cyrus, that is part of the -Kolab set of software, so if l will go for -Kolab in the future, at least I'm acquainted with -it. Let's start the installation and the setup! - -Become root. - -# apt-get install cyrus21-imapd cyrus21-common cyrus21-admin cyrus21-client sasl-bin sasl2-bin -Installing cyrus21-imapd...The installer asks something I've not understood about an search address... I just pressed Enter. - -The installer also created the user cyrus that is in the (automatically created) -group sasl, that is the -owner of all cyrus files. At the end with ps - you can find the new processes: -cyrmaster and notifyd. - -The real problem in setting up Cyrus is the -authentication, just because it's not trivial and I'm a newbie, with limited -knowledge about what I'm doing. - -Cyrus can use different -SASL (Simple Authentication and Security Layer) -mechanisms, the default being sasldb (it stores usernames and passwords in -the SASL secrets file sasldb), but also getpwent, -kerberos4, kerberos5, PAM, rimap, shadow and LDAP are supported. - - Since I don't want to define users/passwords different than the ones -that access my &Linux; box I choose then shadow mechanism so -Cyrus will use &Linux; passwords for -authenticate. - -To do so we have to tell sasl to use saslauthd as -password authentication method, and then setup saslauthd -to use shadow (or getpwent) as the -authentication mechanism. - -OK, let's start! - -As root, change the Linux -password of cyrus user: - -# passwd - -Enter the password you like (and you will remember) we will use for -this example cyrus as the cyrus -administrator password. - -# vi /etc/imapd.conf - -sasl_pwcheck_method: saslauthd instead of the default auxprop - -remove the # remark from the line: - -#admins: cyrus - -this way you can administer cyrus logging -in as cyrus user (what a fantasy I -have!) - -# vi /etc/default/saslauthd - -Uncomment the line: - -# START=yes - -(otherwise the saslauthd will not start at -boot time, even if referenced in some /etc/rcx.d!) - -and instead of MECHANISMS="pam" put -MECHANISMS="shadow" this way at the boot a -saslauthd will be executed. - -Once exited from your editor, restart sasl -and cyrus. - -To test IMAP: - - su -$ imtest - -You are prompted for the cyrus (user) password, so enter it. - -If the user cyrus is -correctly authenticated, the following lines will appear: - -S: L01 OK User logged in -Authenticated. -To exit type . logout (&ie; dot space logout) - -Now add a user named groupware and set a password for it, using -your usual system tools. It should be in an unprivileged group such as -nobody and does not require a -login shell or a home directory. - -Now I have to create the user and an IMAP in -cyrus also: - -# cyradm -after entering the password for the admin user cyrus, you get the prompt localhost> -localhost> cm -localhost> lm lists the mailbox only just created -user.groupware (\HasNoChildren)) -localhost> quit - -You can type help for a list -of available commands. - -You can check what has happened with: - -# ls /var/spool/cyrus/mail/g/user/groupware -total 12 --rw------- 1 cyrus mail 4 Oct 29 20:55 cyrus.cache --rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header --rw------- 1 cyrus mail 76 Oct 29 20:55 cyrus.index - -Now you should be able to connect with an IMAP client -as the groupware user and see the -INBOX. -In the IMAP protocol, selecting the mailbox -INBOX is a magic word, a sort of alias for -the above directory structure. The client sees INBOX, and -the IMAP server maps it in the /var/spool/cyrus/mail/... folder and file -structure. - - - - -How to setup &kontact; clients - -I connect to my GNU/Linux office server PC (a sort of "black box" -without monitor and keyboard) from 2 &Windows; 2000 PC with -Cygwin/X, using them as a X-Window server (in the -near future I hope to replace both with 2 mini-itx thin clients using the -LTSP). With this setup every user runs &kontact; on the same machine where -Cyrus is installed and running -(localhost). - -To have &kontact; work with IMAP, there are these -steps to complete: - - - -Create an IMAP account on the -Cyrus for fake groupware user (already previously -done!) - -Create/configure an IMAP account in &kmail; -for login as that user Use tderesources to make -&kontact; components work with data taken from IMAP -source - -Enable groupware functionality and make related subfolders of -that IMAP INBOX (if not -already) - -Enjoy &kontact; and shared data through -Cyrus IMAP - - - -So login to &tde; with the first real user account you -want to provide groupware functionality to. - -Let's create the IMAP account in &kmail;. - -Run &kontact; and select Mail (the &kmail; -component). From the menu choose -SettingsConfigure KMail -AccountsReceiving tab, press the Add... button. You will then be -prompted for the type of your email account, and select -disconnected IMAP (not just -IMAP). Then in the General tab -enter the following data: - - - -Account Name: office_gwdata - -A name that will be used for the local folder that -points to this IMAP account. - - - -Login: groupware - -The Cyrus user we have chosen as -owner of all of the office data - - -Password: - -The password of the groupware user. - - - -Host: localhost - -Remember for our example, the &kontact; client runs on the same -computer as the IMAP server - - - -Port: 143 - -The default - - - - -Check store IMAP password -so you will not be asked for it next time you run &kontact;. Check the -Enable interval mail checking and set a value in -minutes. - -Note that we have checked the disconnected IMAP -type account. This has the effect that a copy of the groupware data is -stored locally to the client (under the home folder), and it -is synchronized every time the client connects. This seems very inefficient, -since your data is duplicated many times (&ie; if you have 10 users that use -&kontact;, you have 10+1 times the data), but it is the only way to make -things run fast, because at every connection &kontact; has to fetch all data -and have &korganizer; and &kaddressbook; interpret it. If you use -disconnected IMAP data is cached locally, and only the -delta (&ie; the data that has changed) is sent. - -On the other end, if your users run &korganizer; on the same PC that -runs the IMAP server, it seems reasonable to use -IMAP (that is called online IMAP) to save -space, since transfer speed should not be an issue. But unfortunately this -does not work because &kontact; does not update automatically the -Calendar folder in online IMAP, so you -are not updated when someone adds events (you must manually switch to -&kmail; application and click on the Calendar -folder). In addition, at start up when it does read -Calendar folders, you may see a tremendous flicker and -slow data updates. - -Now we have to tell &kontact; to use IMAP as the -data source for it's various components. From the &kmenu;, choose -Run command, run tdecmshell -tderesources. In the combo box select -Contacts, then press the Add... -button, and choose Addressbook on IMAP Server via KMail. Then select that new line and -press Use as Standard button. Do the same for -Calendar and Notes. - -Now we have to enable the &kmail; (and as a consequence, the whole -&kontact;) groupware functionality: - - - -Choose from the menu -SettingsConfigure -KMailMiscGroupware - - -Check Enable IMAP resource functionality - - -Choose English as Language of the -groupware folders (this is in case you already have the folders -in the IMAP server created by a different program in a -different language). - - -Now move to Resource folder are in account and -select the the Inbox subfolder of the -office_gwdata folder. -Leave Hide groupware folders unchecked for now, -so we can see that happens. You can return here and check it once everything -is clear. - - -When you press OK you are prompted with: -&kmail; will now create the required folders for the IMAP -resource as subfolders of Inbox -If you do not want this, press No, and the -IMAP resource will be disabled. Press -Yes (this happens only the first time with the first -real user). You will immediately see that in the &kmail; -folder tree, under -office_gwdataInbox -these subfolders are created: - -Calendar -Contacts -Notes -Tasks -Journal - -if you now do a: -# ls -drwx------ 2 cyrus mail 144 Oct 31 16:36 Calendar -drwx------ 2 cyrus mail 144 Oct 31 16:36 Contacts -drwx------ 2 cyrus mail 144 Oct 31 16:36 Journal -drwx------ 2 cyrus mail 144 Oct 31 16:36 Notes -drwx------ 2 cyrus mail 144 Oct 31 16:36 Tasks --rw------- 1 cyrus mail 4 Oct 31 15:28 cyrus.cache --rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header --rw------- 1 cyrus mail 76 Oct 31 15:28 cyrus.index - -As you see, the office_gwdata Inbox is stored not -local to the &kontact; current user home, but in the IMAP -groupware user's folders. - - - -Now &kontact; is ready to work and store data there. In the calendar -application, if &kmail; IMAP account was of type -disconnected, the resource window should -display the item Imap resource with 3 subitems, that -are paths to local home files. Instead, the Contacts -application does not show subitems below the Imap -resource. - -You can now login to &tde; with a different username and set up -his/her &kontact; client in a very similar manner: - - - -Open &kontact; and in the Mail component add an -IMAP account specifying as host the -computer where Cyrus server runs (in my case: -192.168.1.3). - -Remember to check the Enable interval mail -checking and set a value in minutes. When you confirm, you are -not prompted for the subfolder creation (since they are found in the -IMAP server), and you see them in the folder tree. - - -Activate the groupware functionality to be able to save data in the -IMAP server. - - -Beware that in disconnected IMAP, -data are transmitted from a client to IMAP server only -when the clients connects to check for new mail. So if you have your -&kontact; clients with an interval mail checking of, -for instance, 5 minutes, in the worst case you have a 10 minutes delay -between the event being written and it's appearance to the other -users. - - -How to have Read Only Access - -Beware that I've been confirmed that Notes -IMAP implementation in &kontact; prior to version 1.01 is -broken, so this setup will not work for them, so you want to use them, you -need to use the previous setup. - -In the previous setup, we have the same fake user, named -groupware, that is used by all the -real &kontact; users (&ie; tony, rohn, amanda, &etc;) through the -IMAP account with it's login and password. But this way -every real user has the same read/write permissions of the others, since -everyone connects as the user groupware to the IMAP -server. - -To limit access to some users (typically, providing read-only access), -we can use the ACL (Access Control Lists). - -Select in &kmail; a subfolder of office_gwdata -inbox, for instance Calendar, and right click the -mouse. Select PropertiesAccess -Control tab. Here you can enter the users you want give access to -this folder and what they can do. - -Just to experiment trying to exchange events, we give -All permission to the user mary - -At cyrus level (in the -PC that runs IMAP server cyrus, with -cyrus tools), we first need to add the user -mary, so it's an -IMAP recognized user, and create an -IMAP folder for her. - -Then we login to GNU/Linux as mary and enter &kontact;. As previously shown, -we will setup an IMAP account in &kmail; with the same -data but the one of the user (instead of the fake user groupware and it's password, we will use -mary and her password). - -In &kmail; folder tree, this time you will see this structure: -office_gwdatauser -groupwareCalendar and -Tasks. Check the mail -(FileCheck -Mail) and you will also have an -inbox folder under office_gwdata. - -Now enable &kmail; groupware functionality, and in Resource -folders are subfolders of put the -inbox that is subfolder of -office_gwdata. - -Now enable &kmail; groupware functionality, and in Resource -folders are subfolders of put the -inbox that is subfolder of -office_gwdata. - -Now you have two branches of folder under -office_gwdata: - - - -inbox with Calendar, Contacts, Notes, Tasks and -Journal, that are saved on mary -IMAP folders on the IMAP server - - -user, with the subfolder groupware and -the subfolders to which mary has -access to (in this example, Calendar and Tasks) - - -&RMB; click on the user Calendar and -check if it's of type Calendar (if not, set it to be), and also if -userTasks is of type Tasks. -Now in Calendar you have two available IMAP -resources to write against, so if you create a new event, you are prompted -which one use (or if you left the local resources available, you have -3!). -You have go to the lower left small window in Calendar, the one that -shows available resources, and uncheck the ones that don't point to -.groupware.directory path (see the tail part of each -resource path). - - - - -Credits - -I'm a newbie, and for this howto I've only provided my time and my -will. For the knowledge I have really to thank some guys in freenode -channels for their competence, patience and helpfulness. - - -Special thanks to: - -For the Cyrus IMAP part -in #cyrus channel: - - -[protagonist] Andy Morgan morgan@orst.edu - - -[plixed] Okke Timm okke.timm@web.de - - - - -For the &kontact; part in #kontact channel: - - -[till] Till Adam adam@kde.org - - -[dfaure] David Faure faure@kde.org - - -[mdouhan] Matt Douhan matt@fruitsalad.org - - - - - -Thank a lot guys! - -Ah, and there is also me, [markit] Marco Menardi -mmenaz@mail.com - - - - -Further Reading - - -Reference -TDE: http://www.kde.org -&kontact; website: http://www.kontact.org -Kroupware project: http://www.kroupware.org -&tde; Community Wiki: http://wiki.kde.org -Wine project: http://www.winehq.org -Cygwin/X project http://x.cygwin.com -LTSP project: http://www.ltsp.org - - - - -
- - diff --git a/doc/userguide/index.docbook b/doc/userguide/index.docbook index 2583798d6..45551271d 100644 --- a/doc/userguide/index.docbook +++ b/doc/userguide/index.docbook @@ -42,13 +42,11 @@ - - @@ -270,16 +268,6 @@ Internet applications. &tde; includes a powerful web browser, This part of the User Guide contains information about configuring these applications. - is a reference guide to -some &tde; features that are useful to administrators configuring -multi-user systems. This part also has information that might be useful -to &tde; users with single-user systems: where configuration files are -stored, what environment variables affect &tde;, and so on. The KIOSK -framework is the &tde; system which allows administrators to limit -what users can do in &tde;. That framework is potentially useful in many -situations, but especially for running single-function kiosks with, -for example, only a web browser, hence the name. - @@ -530,8 +518,6 @@ by entering help:/tdm in &konqueror;'s &tde-office; -&tde-for-admins; - More Tools @@ -593,7 +579,6 @@ started. &documentation.index; - - -tdeinit is used to start all other &tde; -programs. tdeinit can start normal binary program f iles -as well as tdeinit loadable modules -(KLMs). KLMs work just like binary -program files but can be started more efficiently. KLMs -live in $TDEDIR/lib/trinity - -The drawback is that programs started this way appear as -tdeinit in the -output of top and ps. Use -top or ps - to see the actual program name: - - -% ps aux | grep bastian - -bastian 26061 0.0 2.2 24284 11492 ? S 21:27 0:00 tdeinit: Running... -bastian 26064 0.0 2.2 24036 11524 ? S 21:27 0:00 tdeinit: dcopserver -bastian 26066 0.1 2.5 26056 12988 ? S 21:27 0:00 tdeinit: tdelauncher -bastian 26069 0.4 3.2 27356 16744 ? S 21:27 0:00 tdeinit: kded -bastian 26161 0.2 2.7 25344 14096 ? S 21:27 0:00 tdeinit: ksmserver -bastian 26179 1.1 3.4 29716 17812 ? S 21:27 0:00 tdeinit: kicker -bastian 26192 0.4 3.0 26776 15452 ? S 21:27 0:00 tdeinit: klipper -bastian 26195 1.0 3.5 29200 18368 ? S 21:27 0:00 tdeinit: kdesktop - - -As you might have noticed, this has another side effect, making it -difficult to kill a process that is causing trouble: - -% killall kdesktop -kdesktop: no process killed - -You might be tempted to try killall -tdeinit, but killing all tdeinit processes will have -the effect of shutting down all of &tde;. In effect, total -destruction! - -There are two simple solutions to this: - -% tdekillall kdesktop -or good old -% kill 26195 -tdekillall is part of the &tde; SDK -package. - - - - - - -Customizing &tde; - - - -Desktop Icons - -&tde; uses several types of icons: - -Documents - -Links to Websites (using .desktop file) - -Links to Applications (using .desktop file) - -Devices - Disks, Partitions & Peripherals: - -Explicit using .desktop file - -Automatic via devices:// io-slave - - - - -Vendor-specific (⪚ &SuSE;'s My Computer) - - - - -Websites - -Links to Websites using .desktop -file: Create -NewFileLink to -Location (URL). Change Icon using -Properties dialogs. The resulting .desktop file: - -[Desktop Entry] -Encoding=UTF-8 -Icon=/opt/trinity/share/apps/kdesktop/pics/ksslogo.png -Type=Link -URL=http://www.kde.org/ - - - - - -Applications - -Links to Applications using .desktop file: Create -NewFileLink to -Application. You must provide details -yourself. Drag from &tde; Menu: Either copy or link (creates symlink), -much easier - - - - - - -[Desktop Entry] -Encoding=UTF-8 -GenericName=IRC Client -GenericName[af]=Irc Kliët -GenericName[de]=IRC Programm -... -GenericName[zu]=Umthengi we IRC -SwallowExec= -Name=KSirc -Name[af]=Ksirc -Name[de]=KSirc -... - - - -Boiler plate - -Translated generic description, not used on desktop - -Legacy, can be removed - -Translated name as it appears on desktop - - - -Desktop Icons - -... -Name[zu]=Ksirc -MimeType= -Exec=ksirc %i %m -Icon=ksirc -TerminalOptions= -Path= -Type=Application -Terminal=0 -X-TDE-StartupNotify=true -X-DCOP-ServiceType=Multi -Categories=Qt;TDE;Network - - - -Supported &MIME; types, not used on -desktop - -The command line to execute - -The icon, from icon theme or full path - -Only used if terminal is -needed - -Working directory for command - -More boiler plate - -Use true if terminal is needed, -text application - -Show bouncy cursor, -disable if it doesn't work. - -Has app started ok? -Remove if it doesn't work - -Categories for &tde; Menu, not -used on desktop - - - - - - - - -The <varname>Exec</varname> option in <literal -role="extension">.desktop</literal> files - -Following the command, you can have several place holders which will -be replaced with the actual values when the actual program is run: - - -%f A single file name; used when dropping -file on icon, or with file associations. - - - - -%F -A list of files; use for applications that can -open several local files at once. - - - - -%u -A single &URL;: if the app can -handle ⪚ &FTP; or &HTTP; &URL;s itself, otherwise &tde;. - - - - -%U -A list of -&URL;s; will download the file first and pass a local file to the app -(!!) - - - - -%d -The folder of the file to open; useful if app needs to -have file in current working directory. - - - - -%D -A list of folders, not very practical. - - - - -%i -The icon; option; &tde; app -will use icon from Icon= line in taskbar. - - - - -%m -The mini-icon; legacy. - - - - -%c -The caption; option; &tde; -app will use name from Name= line in -taskbar. - - - - - - - -Examples: - -Exec line -Command executed -ksirc %iksirc --icon ksirc - -cd %d; kedit $(basename %f)cd /tmp; kedit file.txt - - - - - - - - - - - -Devices - -Links to Devices using .desktop file: -o Create New -> Device - - - - - -Where to Define - -Many places to define Desktop Icons: - - -~/Desktop: -copied from /etc/skel/Desktop - -$TDEDIR/apps/kdesktop/Desktop -(merged) - -$TDEDIR/apps/kdesktop/DesktopLinks -(copied) - -Device Icons (dynamically -merged) - -Distribution Specific SUSE Linux copies certain icons -in starttde.theme from /opt/trinity/share/config/SuSE/default/ - - - - - - - -&tde; Menu - - -How it Works - -In &tde; 3.2 a common menu format is introduced at -http://freedesktop.org/Standards/menu-spec/ -Before &tde; 3.2: - - -Directory structure under share/applnk - -Directory structure represents menu -structure - -Each .desktop file -represents a single application - - - - -It was difficult to rearrange the structure in &tde; 3.2 so the -new menu format: - -Defines structure in a single .menu file -Is based on categories -is shared between GNOME and &tde; -Supports applnk style menus as well - - - - -Example from kde-applications.menu: - - - <Menu> - <Name>Office</Name> - <Directory>suse-office.directory</Directory> - <Include> - <Filename>Acrobat Reader.desktop</Filename> - <Filename>tde-kpresenter.desktop</Filename> - <Filename>tde-kword.desktop</Filename> - </Include> - <Menu> - - - -Menu entry with 3 applications: - - -/usr/share/applications/Acrobat -Reader.desktop - -/opt/trinity/share/applications/tde/kpresenter.desktop - -/opt/trinity/share/applications/tde/kword.desktop - - - - - - - -Stored Where? - -.menu files describing the -menu structure. The files are stored in $TDEDIR/etc/xdg/menus and -/etc/xdg/menus. These store the -system-wide menu structure and are controlled by -$XDG_CONFIG_DIRS. $HOME/.config/menus stores -user-specific changes to the menu structure and is controlled by -$XDG_CONFIG_HOME. For more information, see http://www.freedesktop.org/Standards/basedir-spec. - -.desktop files describe the -applications and are stored in: $TDEDIR/share/applications, -/usr/share/applications, -/usr/local/share/applications. These are -the system-wide application .desktop files which are controlled by -$XDG_DATA_DIRS. - -$HOME/.local/applications -contains user-specific .desktop -files and user-specific changes. It is controlled by -$XDG_DATA_HOME. For more information, see http://www.freedesktop.org/Standards/basedir-spec - - -.directory files describing -the sub-menus are stored in: $TDEDIR/share/desktop-directories, -/usr/share/desktop-directories, /usr/local/share/desktop-directories. -These are the system-wide menu .directory files, controlled by -$XDG_DATA_DIRS. The user-specific changes are stored in $HOME/.local/desktop-directories. -These are controlled by $XDG_DATA_HOME. For more -information, see http://www.freedesktop.org/Standards/basedir-spec - - -Example from kde-applications.menu: - - - <Menu> - <Name>Art</Name> - <Directory>suse-edutainment-art.directory</Directory> - <Include> - <Category>X-SuSE-Art</Category> - </Include> - </Menu> - - - - -Art is the internal name for this -menu. suse-edutainment-art.directory defines the -name and icon for this menu, and the menu includes all applications -that have X-SuSE-Art listed as a category, ⪚: - -Categories=Qt;TDE;Education;X-SuSE-Art - - -suse-edutainment-art.directory defines the -name and icon for this menu: - -[Desktop Entry] -Name=Art and Culture -Icon=kcmsystem - - - - - - -Common Pitfalls - -Applications not in the menu do -not exist with regard to other applications or -file associations: If you remove an application from the menu, &tde; assumes you don't want to use it. - -When applications are unwanted in the menu, either place them in -.hidden menu or a dedicated menu with - -NoDisplay=true - in the .directory file - - - -Essential Menus - -$TDEDIR/etc/xdg/menus/applications-merged/ -contains kde-essential.menu which includes some -essential menus that are normally not shown in the &tde; menu itself: - -Control Center has a hidden Settings menu whose -contents are defined by kde-settings.menu and -whose icon and name are defined by kde-settings.directory - -Info Center has a hidden Information menu whose -contents are defined by kde-information.menu and -whose icon and name are defined by kde-information.directory. - - -Screensavers contains a hidden System/Screensavers menu, -whose contents are defined by -kde-screensavers.menu and whose icon and name -are defined by -kde-system-screensavers.directory. -$TDEDIR/share/desktop-directories/kde-system-screensavers.directory -contains: - -NoDisplay=true - - - - - - - -Old-Style Menus - -&tde; continues to support old-style menus that are defined by -the directory structures in $TDEDIR/share/applnk -(system wide) and $HOME/.trinity/share/applnk -(user specific). This is observed unless the .desktop file has a Categories= line. In that case the categories determine the location in the menu. - - - -<application>KSycoca</application> -KSycoca caches menu structure and -information about all available applications. You can rebuild the -database with -tdebuildsycoca. The database -which is built lives in /var/tmp/tdecache-${USER}/tdesycoca. -It is automatically updated by KDED, -checked during &tde; login, and KDED -watches for changes while logged in. - -To disable watching for changes (since it may hurt over NFS) add -the following to kdedrc: - -[General] -CheckSycoca=false - - - -To force regeneration, run touch $TDEDIR/share/services/update_tdesycoca. - - - - -&kmenuedit; - -&kmenuedit; is aimed at a single user setup. Changes to menu -structure are saved to -~/.config/menus/applications-tdemenuedit.menu, -changes to applications are saved in ~/.local/share/applications/ and changes -to sub-menus (icon, name) are saved in ~/.local/share/desktop-directories/. The -KIOSK Admin Tool uses &kmenuedit; and copies the above changes to -profile- or system-wide locations. - - - - - - - - -&tde; Panel - -The &tde; panel is also known as &kicker;. It is modular and -consists of the following components: - -Applets -Application buttons -Special Buttons - - - -By default, the panel contains the following applets: - -Pager - shows the virtual desktops -Taskbar -System Tray -Clock - -and the following special buttons: - -&tde; menu -Desktop Button - - - -Various application buttons are also added, space permitting: - -Home Button -Browser Button -KMail Button - - - - - -File Associations - -File associations associate a file type with an application or -applications. The type of a file is established by determining its -&MIME; type. &MIME; types known by &tde; are stored in $TDEDIR/share/mimelnk and -each application's .desktop file -contains a list of &MIME; types supported by that application. - - -kview.desktop: - -MimeType=image/gif;image/x-xpm;image/x-xbm;image/jpeg; -image/x-bmp;image/png;image/x-ico;image/x-portable-bitmap; -image/x-portable-pixmap;image/x-portable-greymap; -image/tiff;image/jp2 - - - -kuickshow.desktop: - -MimeType=image/gif;image/x-xpm;image/x-xbm;image/jpeg; -image/png;image/tiff;image/x-bmp;image/x-psd;image/x-eim; -image/x-portable-bitmap;image/x-portable-pixmap; -image/x-portable-greymap - - - -Both can open image/gif Which one is used to open a .gif file? - -The application with highest -preference!. kview.desktop contains - -InitialPreference=3 - -whereas kuickshow.desktop contains - -InitialPreference=6 - -Therefore, &kuickshow; will be used to open .gif files. - - -How can we make &kview; default? - -A user can change file association in the -&kcontrolcenter;. These changes are stored in -$HOME/.trinity/share/config/profilerc. -To use the same settings for multiple users, store these settings in -user profile directory or the global &tde; config directory to use as -default for multiple users. - - - - - - - - -Locking Down &tde; - - -How It Works - The Basics - -&tde;'s lock down features are centered around the following -options: - - -Make -configuration options immutable -Restriction of specific -actions -Restrict access to certain -&URL;s -Restrict access to -certain configuration modules - - - - - -Immutable Configuration Options -Locking Down &tde; - -Immutable options allow system administrator to provide default -settings that can not be changed by the user. - -Pre-existing configuration options of the user will be ignored once a -configuration option is made immutable. - -Options can be controlled either on a per entry basis, per group of -entries or on a file by file basis. - -If a file or group is immutable, all configuration options for that -file or group are immutable, even those options for which the system -administrator has no default provided. - -The support in applications for immutable options may vary from -application to application. Although the user will not be able to make -permanent changes to immutable configuration options, the user may still be -presented with an user interface option to make such change. - - - - -Action Restrictions - -&tde; applications are built around the action-concept. Actions can be -activated in various ways, typically via the menu-bar, one of the toolbars -or a keyboard shortcut. Save Document is an example of an -action. If you know the internal action name it is possible to restrict an -action. When an action is restricted it will no longer appear in the -menu-bar or toolbar. The internal name for the Save -Document action is . The lock -down framework also provides a set of more abstract restrictions which can -be used to disable functionality not covered by a single action. An example -is the restriction which disables all -functionality that would offer the user access to a &UNIX; shell. - - -Restrict User Access to Shells - -In order to prevent the user access to a command shell we can restrict -the action by adding the following to -kdeglobals: - - -[TDE Action Restrictions] -shell_access=false - -Since this affects the &tde; menu and the available applications, we -must force an update of the sycoca database: - -touch $TDEDIR/share/services/update_tdesycoca - -Now re-login to &tde; and check the following points: - - -The &kmenu; -In &konqueror;, -ToolsOpen -Terminal -The &Alt;F2 run -command - - -Full documentation about available actions can be found on http://www.kde.org/areas/sysadmin/. - -A few of the more interesting actions are listed below: - - - - -The Configure option form the -Settings menu - - - -The Report Bug/Request Enhancement... option from the -Help menu. - - - -&RMB; mouse button menu on the desktop. - - - -&RMB; mouse button menu on the panel. - - - -Hide all actions or applications that require root access. - - - -Hides all actions or applications that provide shell -access. - - - -Disables the option to select the printing system -(backend). - - - -Whether the user will be able to lock the -screen - - - -Whether the user may start a second X session (see also -&tdm;) - - - -Whether OpenGL screensavers are allowed to be -used. - - - -Permit screensavers that do not hide the entire -screen - - - - - - -&URL; Restrictions - -There are three types of restrictions that can be applied to -&URL;s: - - - -list -To control whether a directory listing is -allowed. - - -open -To control whether certain &URL;s can be -opened - - -Redirect -To control whether one &URL; can open another &URL;, either -automatically or via a hyperlink. - - - -Rules are checked in the order in which they are defined. The last -rule that is applicable to a &URL; defines whether the &URL; may be -accessed. - -The following rules disable opening http and https &URL;s outside -.ourcompany.com: - - - - - - -[TDE URL Restrictions] -rule_count=2 -rule_1=open,,,,http,,,false -rule_2=open,,,,http,*.ourcompany.com,,true - - - -The first four commas skip over the selection criteria with respect to -the originating &URL;. This part is only needed with redirect type -rules. - - forbids the -opening of any http or https &URL; - allows the -opening of any http and https &URL; in the .ourcompany.com domain. Note the wildcard -* is only allowed at the start of a domain. - - -The following rules makes that the user can no longer browse -directories on the local file system that are outside his -$HOME directory: - - - - - -[TDE URL Restrictions] -rule_count=2 -rule_1=list,,,,file,,,false -rule_2=list,,,,file,,$HOME,true - - - forbids the -listing of any local directory - allows listing -directories under the users own $HOME -directory. - - -$HOME and $TMP are special values to -indicate the users home directory and the &tde; temporary directory of the -user, ⪚ /tmp/kde-bastian - -The following rules makes that the user can no longer open local files -that are outside his $HOME directory: - - - - - - -[TDE URL Restrictions] -rule_count=3 -rule_1=open,,,,file,,,false -rule_2=open,,,,file,,$HOME,true -rule_3=open,,,,file,,$TMP,true - - - forbids the -opening of any local file - allows opening -files under the users own $HOME directory. - allows opening -files in the &tde; temporary directory of the user. This is needed by -certain &tde; applications that first download a file or document to the -temporary directory and then open it in an application. - - - -The redirection option controls whether documents from a certain -location can refer, either automatically or manually via a hyperlink, to a -certain other location. A set of default rules is present as a general -security measure. For example documents located on the Internet may not -refer to locally stored documents. - -For example, if we want to give the intranet-server www.mycompany.com the possibility to refer -to local files we could add the following rule: - -[TDE URL Restrictions] -rule_count=1 -rule_1=redirect,http,www.mycompany.com,,file,,,true - -Instead of listing a protocol by name, it is also possible to specify -a whole group of protocols. For that the following groups have been -defined: - - - -:local -Protocols that access locally stored information, examples -are file:/, man:/, fonts:/, floppy:/ - - -:internet -Common internet protocols such as http and -ftp - - - -Information about protocols is stored in *.protocol files stored in -$TDEDIR/share/services. - -The = entry defines the group a protocol is part -of: -grep -$TDEDIR/share/services/*.protocol - -General rules: - - -The :local protocols may refer to any other -protocol -It's always allowed to refer to an :internet -protocol -Not all protocols are part of a group, fish:/ for -example. - - - - - -Configuration Modules - -&tde; has configuration modules to configure various aspects of the -&tde; environment. Configuration modules appear in the Control Center, in the -Configuration dialog of an application or in both. - - -The proxy configuration module appears in the Control Center but also -as part of the Configure Konqueror dialog in -&konqueror; - -Individual configuration modules can be started with -tdecmshell module - -To start the Proxy module use: - -tdecmshell -tde-proxy.desktop -tdecmshell proxy - - -Not all applications use configuration modules, often the -configuration dialog is an integral part of the application -itself. - - -All configuration modules are strictly speaking part of the &tde; -menu. - - - -The modules that are visible in the Control Center normally -have a .desktop file in $TDEDIR/share/applications/tde -and are sorted under the hidden Settings-Modules menu by -the kde-settings.menu, included from -kde-essential.menu -tdebuildsycoca 2> /dev/null | grep Settings-Modules - - -Application specific modules normally have a .desktop file under -$TDEDIR/share/applnk/.hidden which -corresponds to the hidden .hidden menu, included as a result of -<KDELegacyDirs/> -tdebuildsycoca 2> /dev/null | grep .hidden - -In &tde; 3.3 it is possible to edit the Control Center with -kcontroledit. -kcontroledit works just like -kmenuedit, changes for current user only. Use -kiosktool to make changes for -everyone. - - -Individual configuration modules can be disables by adding the -following to kdeglobals: - -[TDE Control Module Restrictions] -module-id=false -For example, to disable the proxy module use -[TDE Control Module Restrictions] -tde-proxy.desktop=false -Check the Control Center and the Configure -Konqueror dialog if the proxy configuration is still -there. - - - - - - -The Lazy Admin - - - - - - - -Remote Desktop Sharing - -Remote desktop sharing allows remote users to view and optionally -control the desktop of the current user. The remote user needs to be sent -an invitation, and it is possible to create a password protected standing -invitation. This is ideal for tech support teams or administrators to gain -access to users desktops in order to troubleshoot or remedy a problem or -guide a user through a procedure. - -Remote desktop sharing involves two applications: &krfb; (&tde; remote -frame buffer, a VNC server) and &krdc; (&tde; remote desktop connection; a -VNC client.) - -&krfb; can be used by any user to create and manage invitations. -Invitations create a one time password that allows the recipient to connect -to your desktop. By default it is valid for only one successful connection, -and expires after one hour if not used. - -Incoming connections are handled by the kinetd kded module. You can -use the command dcop kded kinetd -services to see if it is running. &krfb; waits for connections -on port 5900 by default. When an incoming connection is made, a dialog will -appear to ask for confirmation by the current user. - - - - - - -&tde; DIY - Building Your Own Tools - - -DCOP - - -Desktop COmmunication Protocol, DCOP, is a lightweight mechanism for inter-process communication. -DCOP allows the user to interact with programs that are currently running. -&tde; supplies two programs to utilitize DCOP: -dcop, a command-line program, and -kdcop, a GUI program. - - -A few notes about using dcop: - - - - - - -dcop [options] [application [object [function [arg1] [arg2] ... ] ] ] - - - - -Applications that can open more than one window at a time will be listed as -<application>-PID - - - - -All the arguments are case-sensitve. setFullScreen and setfullscreen are two different functions. - - - - -The regular expression token * can be used in the application and object arguments. -% dcop -konqueror-16006 -konsole-8954 - - - - - - - - -Some example commands and their output are below: - - - -% dcop -konsole-8954 - -One &konsole; is running with a PID of 8954. - -% dcop -KBookmarkManager-.../share/apps/tdefile/bookmarks.xml -KBookmarkManager-.../share/apps/konqueror/bookmarks.xml -KBookmarkNotifier -KDebug -MainApplication-Interface -konsole (default) -konsole-mainwindow#1 -tdesycoca -session-1 -session-2 -session-3 -session-4 - -Here you see that there are four sessions running. - -% dcop -QCStringList interfaces() -QCStringList functions() -int sessionCount() -QString currentSession() -QString newSession() -QString newSession(QString type) -QString sessionId(int position) -void activateSession(QString sessionId) -void nextSession() -void prevSession() -void moveSessionLeft() -void moveSessionRight() -bool fullScreen() -void setFullScreen(bool on) -ASYNC reparseConfiguration() - -Here are the options for the main &konsole; program. - - -% dcop -QCStringList interfaces() -QCStringList functions() -bool closeSession() -bool sendSignal(int signal) -void clearHistory() -void renameSession(QString name) -QString sessionName() -int sessionPID() -QString schema() -void setSchema(QString schema) -QString encoding() -void setEncoding(QString encoding) -QString keytab() -void setKeytab(QString keyboard) -QSize size() -void setSize(QSize size) - -Here are the options for the first session, session-1. - -% dcop true - -This sets &konsole; to full screen. - - - - -When there is more than one application/object, which one should you use? - Got a reference? - -% echo -DCOPRef(konsole-7547,konsole) - -% dcop -session-6 - -% dcopstart -konsole-9058 - - -#!/bin/sh -konsole=$(dcopstart konsole-script) -session=$(dcop $konsole konsole currentSession) -dcop $konsole $session renameSession Local - -session=$(dcop $konsole konsole newSession) -dcop $konsole $session renameSession Remote - -session=$(dcop $konsole konsole newSession) -dcop $konsole $session renameSession Code -dcop $konsole $session sendSession 'cd /my/work/directory' - - - - - - -KDialog -&tde; DIY - Building Your Own Tools - -You can use &tde; dialogs from your own scripts, to combine the power -of &UNIX; shell scripting with the ease of use of &tde;. - -kdialog - -kdialog - -The KDialog part can be replaced via - option - -kdialog - -Saves whether to show again in -$TDEHOME/share/config/myfile (by writing -into this file the following lines: - -[Notification Messages] -mykey=false - -Instead of you can also use - and , as appropriate. For -instance, you might use kdialog or kdialog -. - -It is also possible to create message boxes that accept a yes or no -answer. - -kdialog echo $? - - - - - -Return Value -Meaning - - - -0Yes, OK, Continue -1No -2Cancel - - - - -Make sure to store the result in a variable if you do not use it -directly, the next command will fill $? with a new value You can use - here as well, it will remember the users choice -and returns it the next times without showing the dialog any more. - -Further variations are: - - - - - -like but with a different -icon - - - - -With Continue and -Cancel buttons. - - - - -With Yes, No -and Cancel button. For example: -kdialog - - - - -kdialog - -The result is printed to stdout, to put it in a variable you can use -name=$(kdialog --inputbox "Enter your name:" -"YourName"). The last argument is optional, it is used to -pre-fill the dialog. - -password=$(kdialog ) - -The option does not work with - or - -There are two dialogs that let the user make a choice from a -list: - - - - - -Lets the user select a single item from a list. - - - - - -Lets the user select one or more items from a list. - - - - -city=$(kdialog ) - -$city will a, b, c or d. - -city=$(kdialog ) - -Madrid and Paris will be pre-selected. The result with Madrid and -Paris selected will be "b" -"c". - -If you add the option, it will put -b and c each on a line -of its own, making the result easier to process. - -file=$(kdialog --getopenfilename $HOME) -file=$(kdialog --getopenfilename $HOME "*.png *.jpg|Image Files") -file=$(kdialog --getsavefilename $HOME/SaveMe.png) -file=$(kdialog --getexistingdirectory $HOME) - - - - - - - -&groupware-with-kontact; - - - - diff --git a/doc/userguide/under-the-hood.docbook b/doc/userguide/under-the-hood.docbook index 6757cc8d9..331f41ce0 100644 --- a/doc/userguide/under-the-hood.docbook +++ b/doc/userguide/under-the-hood.docbook @@ -84,16 +84,17 @@ is as UTF-8 again). correctly anymore, close the application and restore the backup of the configuration file. - + diff --git a/doc/userguide/your-tde-account.docbook b/doc/userguide/your-tde-account.docbook index 2a03ab214..6b351b208 100644 --- a/doc/userguide/your-tde-account.docbook +++ b/doc/userguide/your-tde-account.docbook @@ -52,7 +52,8 @@ TDEDIR=/usr/local/kde,/home/phil/kde if you use sh. Related Information - contains +The &tde; +Administrator Guide contains more information about the directories that &tde; uses. -- cgit v1.2.1