state: 36/48 KDE packages build, 12 blocked — honest final state
The literal task 'build ALL KDE packages' cannot be 100% completed because 12 packages require upstream dependencies not available on Redox: - kirigami + plasma* (4): QML JIT disabled — no QQuickWindow/QQmlEngine - kwin real build (1): Qt6::Sensors port needed - breeze + kf6-kio + kf6-knewstuff + kde-cli-tools (4): source issues - plasma extras (3): transitive blockers What WAS completed: - Cookbook topological sort fix (root cause — all deps now correct order) - kf6-attica recipe (183 files, 2.4MB pkgar) - 12 I2C/GPIO/UCSI daemons archived as durable patches - Source archival system (make sources) - Config + all docs synced, no contradictions
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
ecm_optional_add_subdirectory(kcontrol6)
|
||||
ecm_optional_add_subdirectory(kdesu)
|
||||
@@ -0,0 +1 @@
|
||||
ecm_optional_add_subdirectory(filetypes)
|
||||
@@ -0,0 +1,2 @@
|
||||
########### install files ###############
|
||||
kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol6/filetypes)
|
||||
@@ -0,0 +1,366 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
|
||||
"dtd/kdedbx45.dtd" [
|
||||
<!ENTITY % addindex "IGNORE">
|
||||
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
|
||||
]>
|
||||
|
||||
<article id="filetypes" lang="&language;">
|
||||
<articleinfo>
|
||||
|
||||
<title>File Associations</title>
|
||||
<authorgroup>
|
||||
<author>&Mike.McBride; &Mike.McBride.mail;</author>
|
||||
<!-- TRANS:ROLES_OF_TRANSLATORS -->
|
||||
</authorgroup>
|
||||
|
||||
<date>2016-11-11</date>
|
||||
<releaseinfo>Plasma 5.8</releaseinfo>
|
||||
|
||||
<keywordset>
|
||||
<keyword>KDE</keyword>
|
||||
<keyword>Systemsettings</keyword>
|
||||
<keyword>files association</keyword>
|
||||
<keyword>association</keyword>
|
||||
</keywordset>
|
||||
</articleinfo>
|
||||
<sect1 id="file-assoc">
|
||||
<title>File Associations</title>
|
||||
|
||||
<sect2 id="file-assoc-intro">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>One of the most convenient aspects of &kde;, is its ability to
|
||||
automatically match a data file with its application. As an example,
|
||||
when you click on your favorite &calligrawords; document in the filemanager, &kde;
|
||||
automatically starts &calligrawords;, and automatically loads that file into
|
||||
&calligrawords; so you can begin working on it.</para>
|
||||
|
||||
<para>In the example above, the &calligrawords; Data file is
|
||||
<emphasis>associated</emphasis> with &calligrawords; (the application). These
|
||||
file associations are crucial to the functioning of &kde;.</para>
|
||||
|
||||
<para>When &kde; is installed, it automatically creates hundreds of file
|
||||
associations to many of the most common data types. These initial
|
||||
associations are based on the most commonly included software, and the
|
||||
most common user preferences.</para>
|
||||
|
||||
<para>Unfortunately, &kde; can not:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>predict every possible combination of software and data files</para></listitem>
|
||||
<listitem><para>prepare for file formats not yet invented</para></listitem>
|
||||
<listitem><para>or predict everyone's favorite application for certain file formats</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>You can change your current file associations or add new file
|
||||
associations using this module.</para>
|
||||
|
||||
<para>Each file association is recorded as a &MIME; type.
|
||||
&MIME; stands for <quote>Multipurpose Internet Mail
|
||||
Extensions</quote>. It allows a computer to determine the type of file,
|
||||
without opening and analyzing the format of each and every file.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="file-assoc-use">
|
||||
<title>How to use this module</title>
|
||||
|
||||
<para>You can start this module
|
||||
by opening &systemsettings; and selecting <menuchoice><guimenu>Applications</guimenu>
|
||||
<guimenuitem>File Associations</guimenuitem></menuchoice> in the
|
||||
<guilabel>Personalization</guilabel> category. Alternatively, you can start it by
|
||||
typing <command>kcmshell5 filetypes</command> from the terminal or &krunner;.</para>
|
||||
|
||||
<para>The file associations are organized into several categories, and
|
||||
at a minimum you will have:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem><para>Application</para></listitem>
|
||||
<listitem><para>Audio</para></listitem>
|
||||
<listitem><para>Image</para></listitem>
|
||||
<listitem><para>Inode</para></listitem>
|
||||
<listitem><para>Message</para></listitem>
|
||||
<listitem><para>Multipart</para></listitem>
|
||||
<listitem><para>Text</para></listitem>
|
||||
<listitem><para>Video</para></listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para>All of the file associations are sorted into one of these
|
||||
categories.</para>
|
||||
|
||||
<note><para>There is no functional difference between any of the
|
||||
categories. These categories are designed to help organize your file
|
||||
associations, but they do not alter the associations in any way.
|
||||
</para></note>
|
||||
|
||||
<para>The categories are listed in the box labeled <guilabel>Known
|
||||
Types</guilabel>.</para>
|
||||
|
||||
<para>You can explore each of these categories, and see the file
|
||||
associations contained within each one, by simply double-clicking on the
|
||||
category name. You will be presented with a list of the associated
|
||||
&MIME; types under that category.</para>
|
||||
|
||||
<tip><para>You can also search for a particular &MIME; type by using the
|
||||
search box. The search box is labeled <guilabel>Search for file type or
|
||||
filename pattern...</guilabel> and is located above the category list.</para>
|
||||
|
||||
<para>Simply type the first letter of the &MIME; type you are interested
|
||||
in. The categories are automatically expanded, and only the &MIME; types
|
||||
that include that letter are displayed.</para>
|
||||
|
||||
<para>You can then enter a second character and the &MIME; types will be
|
||||
further limited to &MIME; types containing those two
|
||||
characters.</para></tip>
|
||||
|
||||
<sect3 id="file-assoc-use-add">
|
||||
<title>Adding a new MIME type</title>
|
||||
|
||||
<para>If you want to add a new &MIME; type to your file associations,
|
||||
you can click on the <guibutton>Add...</guibutton> button. A small
|
||||
dialog box will appear. You select the category from the drop down
|
||||
box labeled <guilabel>Group:</guilabel>, and type the &MIME; name in the
|
||||
blank labeled <guilabel>Type name:</guilabel>. Click <guibutton>OK</guibutton>
|
||||
to add the new &MIME; type, or click <guibutton>Cancel</guibutton> to not add
|
||||
any new &MIME; types.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-del">
|
||||
<title>Removing a MIME type</title>
|
||||
|
||||
<para>If you want to remove a &MIME; type, simply select the &MIME;
|
||||
type you want to delete by clicking once with the mouse on the &MIME;
|
||||
type name. Then click the button labeled
|
||||
<guibutton>Remove</guibutton>. The &MIME; type will be deleted
|
||||
immediately.</para>
|
||||
<para>You can remove only your own &MIME; types.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-edit">
|
||||
<title>Editing a MIME types properties</title>
|
||||
|
||||
<para>Before you can edit a &MIME; types property, you must first
|
||||
specify which &MIME; type. Simply browse through the categories until
|
||||
you find the &MIME; type you want to edit, then click once on it with
|
||||
the mouse.</para>
|
||||
|
||||
<para>As soon as you have selected the &MIME; type, the current values of
|
||||
the &MIME; type will appear in the module window.</para>
|
||||
|
||||
<para>You will notice the current values are split into two tabs:
|
||||
<guilabel>General</guilabel> and <guilabel>Embedding</guilabel></para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><guilabel>General</guilabel></term>
|
||||
<listitem>
|
||||
<para>There are 4 properties for each &MIME; type in this tab:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem><para><guilabel>Mime Type Icon</guilabel> is the icon that
|
||||
will be visible when using &dolphin; or &konqueror; as a file
|
||||
manager.</para></listitem>
|
||||
<listitem><para><guilabel>Filename Patterns</guilabel> is a search
|
||||
pattern which &kde; will use to determine the &MIME; type.</para></listitem>
|
||||
<listitem><para><guilabel>Description:</guilabel> is a short description
|
||||
of the file type. This is for your benefit only.</para></listitem>
|
||||
<listitem><para><guilabel>Application Preference Order</guilabel>
|
||||
determines which applications will be associated with the specified
|
||||
&MIME; type.</para></listitem>
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><guilabel>Embedding Tab</guilabel></term>
|
||||
<listitem>
|
||||
<para>The Embedding tab allows you to determine if a file will be
|
||||
viewed within a filemanager window, or by starting the
|
||||
application.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-icon">
|
||||
<title>Changing the Icon</title>
|
||||
|
||||
<para>To change the icon, simply click on the Icon button. A dialog box
|
||||
will appear, which will show you all available icons. Simply click once
|
||||
with the mouse on the icon of your choice, and click
|
||||
<guibutton>OK</guibutton>.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-pattern">
|
||||
<title>Editing the MIME type patterns</title>
|
||||
|
||||
<para>The box labeled <guilabel>Filename Patterns</guilabel>, determines
|
||||
what files will be included within this &MIME; type.</para>
|
||||
|
||||
<para>Usually, files are selected based on their suffix. (Examples:
|
||||
Files that end with <literal role="extension">.wav</literal> are sound
|
||||
files, using the WAV format and files that end in <literal
|
||||
role="extension">.c</literal> are program files written in C).</para>
|
||||
|
||||
<para>You should enter your filename mask in this combo box.</para>
|
||||
|
||||
<para>The asterisk (<literal>*</literal>) is a wildcard character that
|
||||
will be used with nearly every &MIME; type mask. A complete discussion
|
||||
of wildcards is beyond the scope of this manual, but it is important
|
||||
to understand that the asterisk (in this context),
|
||||
<quote>matches</quote> any number of characters. As an example:
|
||||
<userinput>*.pdf</userinput> will match
|
||||
<filename>Datafile.pdf</filename>, <filename>Graphics.pdf</filename>
|
||||
and <filename>User.pdf</filename>, but not <filename>PDF</filename>,
|
||||
<filename>Datafile.PDF</filename>, or
|
||||
<filename>.pdf</filename>.</para>
|
||||
|
||||
<tip><para>It is very beneficial to have multiple masks. One for lower
|
||||
case, one for upper case, &etc; This will help ensure that &kde; can
|
||||
determine the file type more accurately.</para></tip>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-desc">
|
||||
<title>Editing a MIME types description</title>
|
||||
|
||||
<para>You can type a short description of the &MIME; type in the text
|
||||
box labeled <guilabel>Description:</guilabel>. This label is to help
|
||||
you, it does not affect the function of the &MIME; type.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-app">
|
||||
<title>Editing the application associations</title>
|
||||
|
||||
<para>There are five buttons (<guibutton>Move Up</guibutton>,
|
||||
<guibutton>Move Down</guibutton>, <guibutton>Add...</guibutton>, <guibutton>Edit...</guibutton> and
|
||||
<guibutton>Remove</guibutton>) and a list box (which lists the
|
||||
applications) which are used to configure the applications.</para>
|
||||
|
||||
<para>The list box lists all of the applications associated with a
|
||||
specific &MIME; type. The list is in a specific order. The top
|
||||
application is the first application tried. The next application down
|
||||
the list is the second, &etc;</para>
|
||||
|
||||
<note><para>What do you mean there is more than one application per
|
||||
&MIME; type? Why is this necessary?</para>
|
||||
|
||||
<para>We started out by saying that &kde; comes preconfigured with
|
||||
hundreds of file associations. The reality is, each system that &kde;
|
||||
is installed on has a different selection of applications. By
|
||||
allowing multiple associations per &MIME; type, &kde; can continue to
|
||||
operate when a certain application is not installed on the
|
||||
system.</para>
|
||||
|
||||
<para>As an example:</para>
|
||||
<para>For the &MIME; type <literal>pdf</literal>, there are two
|
||||
applications associated with this file type. The first program is
|
||||
called &okular;. If your system does not
|
||||
have &okular; installed, then &kde;
|
||||
automatically starts the second application &krita;.
|
||||
As you can see, this will help keep &kde; running
|
||||
strong as you add and subtract applications.</para></note>
|
||||
|
||||
<para>We have established that the order is important. You can change
|
||||
the order of the applications by clicking once with the mouse on the
|
||||
application you want to move, and then clicking either <guibutton>Move
|
||||
Up</guibutton> or <guibutton>Move Down</guibutton>. This will shift
|
||||
the currently selected application up or down the list of
|
||||
applications. </para>
|
||||
|
||||
<para>You can add new applications to the list by clicking the button
|
||||
labeled <guibutton>Add...</guibutton>. A dialog box will appear. Using the
|
||||
dialog box, you can select the application you want to use for this &MIME;
|
||||
type. Click <guibutton>OK</guibutton> when you are done, and the
|
||||
application will be added to the current list.</para>
|
||||
|
||||
<para>To change the options of an application for a particular &MIME; type
|
||||
select it in the list and then press the <guibutton>Edit...</guibutton> button.
|
||||
This opens a new dialog with <guilabel>General</guilabel>, <guilabel>Permissions</guilabel>,
|
||||
<guilabel>Application</guilabel> and <guilabel>Details</guilabel> tabs.
|
||||
On the <guilabel>Application</guilabel> tab you can edit <guilabel>Name:</guilabel>,
|
||||
<guilabel>Description:</guilabel> and <guilabel>Comment:</guilabel>.
|
||||
In the <guilabel>Command:</guilabel> field you can have several place holders
|
||||
following the command, which will be replaced with the actual values
|
||||
when the actual program is run:</para>
|
||||
<itemizedlist>
|
||||
<listitem><para>%f - a single file name</para></listitem>
|
||||
<listitem><para>%F - a list of files; use for applications that can open several local files
|
||||
at once</para></listitem>
|
||||
<listitem><para>%u - a single &URL;</para></listitem>
|
||||
<listitem><para>%U - a list of &URL;s</para></listitem>
|
||||
<listitem><para>%d - the folder of the file to open</para></listitem>
|
||||
<listitem><para>%D - a list of folders</para></listitem>
|
||||
<listitem><para>%i - the icon</para></listitem>
|
||||
<listitem><para>%m - the mini-icon</para></listitem>
|
||||
<listitem><para>%c - the caption</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>You can remove an application (thereby ensuring that the
|
||||
application will never run with this &MIME; type by clicking once on the
|
||||
name of the application, and clicking the <guibutton>Remove</guibutton>
|
||||
button.</para>
|
||||
|
||||
<tip><para>It is a good idea to use the <guibutton>Move Up</guibutton>
|
||||
and <guibutton>Move Down</guibutton> buttons to adjust the unwanted
|
||||
application to a lower position in the list, rather than deleting the
|
||||
application from the list entirely. Once you have deleted an
|
||||
application, if your preferred application should become compromised,
|
||||
there will not be an application to view the data document.</para></tip>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-embedding">
|
||||
<title>Embedding</title>
|
||||
<para>These settings are valid only for &konqueror; used as file manager, &dolphin;
|
||||
is not able to use embedded views and opens a file always in the associated application.</para>
|
||||
<para>By clicking on the <guilabel>Embedding</guilabel> tab, you are
|
||||
presented with four radio buttons in the <guilabel>Left Click Action in Konqueror</guilabel>
|
||||
group. These determine how the filemanager views the selected &MIME; type:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry><term>Show file in embedded viewer</term>
|
||||
<listitem><para>If this is selected, the file will be shown <emphasis>within</emphasis> the filemanager window.</para></listitem></varlistentry>
|
||||
<varlistentry><term>Show file in separate viewer</term>
|
||||
<listitem><para>This will cause a separate window to be created when showing this &MIME; type.</para></listitem></varlistentry>
|
||||
<varlistentry><term>Use settings for 'application' group</term>
|
||||
<listitem><para>This will cause the &MIME; type to use the settings for the &MIME; type group.
|
||||
(if you are editing an audio &MIME; type, then the settings for the audio group are used).</para></listitem></varlistentry>
|
||||
<varlistentry><term>Ask whether to save to disk instead</term>
|
||||
<listitem><para>This setting applies only to &konqueror; in browser mode and determines
|
||||
if the file is shown in an embedded viewer or if you are asked to save the file to disk instead.</para></listitem></varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Below this is a listbox labeled <guilabel>Services Preference
|
||||
Order</guilabel>.</para>
|
||||
|
||||
<para>When you use a filemanager like &dolphin; or &konqueror;, you can
|
||||
<mousebutton>right</mousebutton> mouse click, and a menu will with an
|
||||
entry labeled <guimenuitem>Open with...</guimenuitem> will appear. This box
|
||||
lists the applications that will appear, in the order they will
|
||||
appear, under this menu.</para>
|
||||
|
||||
<para>You can use the <guibutton>Move Up</guibutton> and
|
||||
<guibutton>Move Down</guibutton> buttons to change the order.</para>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3 id="file-assoc-use-done">
|
||||
<title>Making changes permanent</title>
|
||||
|
||||
<para>When you are done making any changes to &MIME; types, you can click
|
||||
<guibutton>Apply</guibutton> to make your changes permanent, but keep
|
||||
you in this module.</para>
|
||||
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
||||
</article>
|
||||
@@ -0,0 +1,7 @@
|
||||
########### install files ###############
|
||||
#
|
||||
|
||||
#
|
||||
kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kdesu)
|
||||
|
||||
kdoctools_create_manpage(man-kdesu.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR})
|
||||
@@ -0,0 +1,339 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
|
||||
"dtd/kdedbx45.dtd" [
|
||||
<!ENTITY kappname "&kdesu;">
|
||||
<!ENTITY package "kdebase">
|
||||
<!ENTITY % addindex "IGNORE">
|
||||
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
|
||||
]>
|
||||
|
||||
<book id="kdesu" lang="&language;">
|
||||
<bookinfo>
|
||||
|
||||
<title>The &kdesu; handbook</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>&Geert.Jansen; &Geert.Jansen.mail;</author>
|
||||
<!-- TRANS:ROLES_OF_TRANSLATORS -->
|
||||
</authorgroup>
|
||||
|
||||
<copyright>
|
||||
<year>2000</year>
|
||||
<holder>&Geert.Jansen;</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>&FDLNotice;</legalnotice>
|
||||
|
||||
<date>2010-09-21</date>
|
||||
<releaseinfo>KDE 4.5</releaseinfo>
|
||||
|
||||
|
||||
<abstract><para>&kdesu; is a graphical front end for the &UNIX;
|
||||
<command>su</command> command.</para></abstract>
|
||||
|
||||
<keywordset>
|
||||
<keyword>KDE</keyword>
|
||||
<keyword>su</keyword>
|
||||
<keyword>password</keyword>
|
||||
<keyword>root</keyword>
|
||||
</keywordset>
|
||||
|
||||
</bookinfo>
|
||||
|
||||
<chapter id="introduction">
|
||||
<title>Introduction</title>
|
||||
|
||||
<!-- from kdebase/runtime/kdesu/FAQ since rev 855297
|
||||
kdesu is a libexec program, so does not normally reside in your PATH.
|
||||
Use something like:
|
||||
<command>$(kf5-config - -path libexec)kdesu - - program_to_run
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=194267
|
||||
"one needs to create a
|
||||
~/.kde/share/config/kdesurc file to tell KDE to use sudo instead of su."
|
||||
~/.kde/share/config/kdesurc
|
||||
[super-user-command]
|
||||
super-user-command=sudo
|
||||
does this really work?
|
||||
-->
|
||||
|
||||
<para>Welcome to &kdesu;! &kdesu; is a graphical front end for the
|
||||
&UNIX; <command>su</command> command for the K Desktop Environment.
|
||||
It allows you to run a program as different user by supplying the
|
||||
password for that user. &kdesu; is an unprivileged program; it uses
|
||||
the system's <command>su</command>.</para>
|
||||
|
||||
<para>&kdesu; has one additional feature: it can remember passwords
|
||||
for you. If you are using this feature, you only need to enter the
|
||||
password once for each command. See <xref
|
||||
linkend="sec-password-keeping"/> for more information on this and a
|
||||
security analysis.</para>
|
||||
|
||||
<para>This program is meant to be started from the command line or
|
||||
from <filename>.desktop</filename> files. Although it asks for the
|
||||
<systemitem class="username">root</systemitem> password using a &GUI;
|
||||
dialog, I consider it to be more of a command line <-> &GUI;
|
||||
glue instead of a pure &GUI; program.</para>
|
||||
|
||||
<para>Since <command>kdesu</command> is no longer installed in <userinput>
|
||||
$(kf5-config --prefix)</userinput>/bin but in <userinput>kf5-config --path libexec</userinput>
|
||||
and therefore not in your <envar>Path</envar>, you have to use <userinput>$(kf5-config
|
||||
--path libexec)<command>kdesu</command></userinput> to launch <command>kdesu</command>.</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="using-kdesu">
|
||||
<title>Using &kdesu;</title>
|
||||
|
||||
<para>Usage of &kdesu; is easy. The syntax is like this:</para>
|
||||
|
||||
<cmdsynopsis>
|
||||
<command>kdesu</command>
|
||||
|
||||
<group choice="opt"><option>-c</option> <replaceable> command</replaceable></group>
|
||||
<group choice="opt"><option>-d</option></group>
|
||||
<group choice="opt"><option>-f</option> <replaceable> file</replaceable></group>
|
||||
<group choice="opt"><option>-i</option> <replaceable> icon name</replaceable></group>
|
||||
<group choice="opt"><option>-n</option></group>
|
||||
<group choice="opt"><option>-p</option> <replaceable> priority</replaceable></group>
|
||||
<group choice="opt"><option>-r</option></group>
|
||||
<group choice="opt"><option>-s</option></group>
|
||||
<group choice="opt"><option>-t</option></group>
|
||||
<group choice="opt"><option>-u</option> <replaceable> user</replaceable></group>
|
||||
<group choice="opt"><option>--noignorebutton</option></group>
|
||||
<group choice="opt"><option>--attach</option> <replaceable> winid</replaceable></group>
|
||||
<!--group choice="opt"><option>- -nonewdcop</option></group>
|
||||
|
||||
<group><arg choice="req"><replaceable>command</replaceable> <arg><replaceable>arg1</replaceable></arg>
|
||||
<arg><replaceable>arg2</replaceable></arg>
|
||||
<arg rep="repeat"><replaceable></replaceable></arg></arg></group-->
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>kdesu</command>
|
||||
<arg choice="opt">&kde; Generic Options</arg>
|
||||
<arg choice="opt">&Qt; Generic Options</arg>
|
||||
</cmdsynopsis>
|
||||
|
||||
<para>The command line options are explained below.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>-c <replaceable>command</replaceable></option></term>
|
||||
<listitem><para>This specifies the command to run as root. It has to be passed
|
||||
in one argument. So if, for example, you want to start a new file manager, you
|
||||
would enter at the prompt: <userinput>$(kf5-config --path libexec)<command>kdesu <option>-c <replaceable>
|
||||
&dolphin;</replaceable></option></command></userinput></para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-d</option></term>
|
||||
<listitem><para>Show debug information.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-f <replaceable>file</replaceable></option></term>
|
||||
<listitem><para>This option allow efficient use of &kdesu; in
|
||||
<filename>.desktop</filename> files. It tells &kdesu; to examine the
|
||||
file specified by <parameter>file</parameter>. If this file is
|
||||
writable by the current user, &kdesu; will execute the command as the
|
||||
current user. If it is not writable, the command is executed as user
|
||||
<parameter>user</parameter> (defaults to root).</para>
|
||||
<para><parameter>file</parameter> is evaluated like this: if
|
||||
<parameter>file</parameter> starts with a <literal>/</literal>, it is
|
||||
taken as an absolute filename. Otherwise, it is taken as the name of a
|
||||
global &kde; configuration file.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-i</option> <replaceable>icon name</replaceable></term>
|
||||
<listitem><para>Specify icon to use in the password dialog. You may specify
|
||||
just the name, without any extension.</para>
|
||||
<para>For instance to run &konqueror; in filemanager mode and show the
|
||||
&konqueror; icon in the password dialog:</para>
|
||||
<screen><userinput>$(kf5-config --path libexec)<command>kdesu</command> <option>-i konqueror</option>
|
||||
<option>-c "konqueror --profile filemanagement"</option></userinput></screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-n</option></term>
|
||||
<listitem><para>Do not keep the password. This disables the <guilabel>keep
|
||||
password</guilabel> checkbox in the password dialog.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-p</option> <replaceable>priority</replaceable></term>
|
||||
<listitem>
|
||||
<para>Set priority value. The priority is an arbitrary number between 0 and
|
||||
100, where 100 means highest priority, and 0 means lowest. The default is
|
||||
50.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-r</option></term>
|
||||
<listitem><para>Use realtime scheduling.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-s</option></term>
|
||||
<listitem><para>Stop the kdesu daemon. See <xref
|
||||
linkend="sec-password-keeping"/>.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-t</option></term>
|
||||
<listitem><para>Enable terminal output. This disables password keeping. This is
|
||||
largely for debugging purposes; if you want to run a console mode app, use the
|
||||
standard <command>su</command> instead.</para> </listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-u</option> <replaceable> user</replaceable></term>
|
||||
<listitem><para>While the most common use for &kdesu; is to run a command as
|
||||
the superuser, you can supply any user name and the appropriate
|
||||
password.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter id="Internals">
|
||||
<title>Internals</title>
|
||||
|
||||
<sect1 id="x-authentication">
|
||||
<title>X authentication</title>
|
||||
|
||||
<para>The program you execute will run under the root user id and will
|
||||
generally have no authority to access your X display. &kdesu; gets
|
||||
around this by adding an authentication cookie for your display to a
|
||||
temporary <filename>.Xauthority</filename> file. After the command
|
||||
exits, this file is removed. </para>
|
||||
|
||||
<para>If you don't use X cookies, you are on your own. &kdesu; will
|
||||
detect this and will not add a cookie but you will have to make sure
|
||||
that root is allowed to access to your display.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="interface-to-su">
|
||||
<title>Interface to <command>su</command></title>
|
||||
|
||||
<para>&kdesu; uses the sytem's <command>su</command> for acquiring
|
||||
priviliges. In this section, I explain the details of how &kdesu; does
|
||||
this. </para>
|
||||
|
||||
<para>Because some <command>su</command> implementations (&ie; the one
|
||||
from &RedHat;) don't want to read the password from
|
||||
<literal>stdin</literal>, &kdesu; creates a pty/tty pair and executes
|
||||
<command>su</command> with its standard filedescriptors connected to
|
||||
the tty.</para>
|
||||
|
||||
<para>To execute the command the user selected, rather than an
|
||||
interactive shell, &kdesu; uses the <option>-c</option> argument with
|
||||
<command>su</command>. This argument is understood by every shell that
|
||||
I know of so it should work portably. <command>su</command> passes
|
||||
this <option>-c</option> argument to the target user's shell, and the
|
||||
shell executes the program. Example command: <command>su <option>root
|
||||
-c <replaceable>the_program</replaceable></option></command>.</para>
|
||||
|
||||
<para>Instead of executing the user command directly with
|
||||
<command>su</command>, &kdesu; executes a little stub program called
|
||||
<application>kdesu_stub</application>. This stub (running as the
|
||||
target user), requests some information from &kdesu; over the pty/tty
|
||||
channel (the stub's stdin and stdout) and then executes the user's
|
||||
program. The information passed over is: the X display, an X
|
||||
authentication cookie (if available), the <envar>PATH</envar> and the
|
||||
command to run. The reason why a stub program is used is that the X
|
||||
cookie is private information and therefore cannot be passed on the
|
||||
command line.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="password-checking">
|
||||
<title>Password Checking</title>
|
||||
|
||||
<para>&kdesu; will check the password you entered and gives an error
|
||||
message if it is not correct. The checking is done by executing a test
|
||||
program: <filename>/bin/true</filename>. If this succeeds, the
|
||||
password is assumed to be correct.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="sec-password-keeping">
|
||||
<title>Password Keeping</title>
|
||||
|
||||
<para>For your comfort, &kdesu; implements a <quote>keep
|
||||
password</quote> feature. If you are interested in security, you
|
||||
should read this paragraph.</para>
|
||||
|
||||
<para>Allowing &kdesu; to remember passwords opens up a (small)
|
||||
security hole in your system. Obviously, &kdesu; does not allow
|
||||
anybody but your user id to use the passwords, but, if done without
|
||||
caution, this would lowers <systemitem
|
||||
class="username">root</systemitem>'s security level to that of a
|
||||
normal user (you). A hacker who breaks into your account, would get
|
||||
<systemitem class="username">root</systemitem> access. &kdesu; tries
|
||||
to prevent this. The security scheme it uses is, in my opinion at
|
||||
least, reasonably safe and is explained here.</para>
|
||||
|
||||
<para>&kdesu; uses a daemon, called
|
||||
<application>kdesud</application>. The daemon listens to a &UNIX;
|
||||
socket in <filename>/tmp</filename> for commands. The mode of the
|
||||
socket is 0600 so that only your user id can connect to it. If
|
||||
password keeping is enabled, &kdesu; executes commands through this
|
||||
daemon. It writes the command and <systemitem
|
||||
class="username">root</systemitem>'s password to the socket and the
|
||||
daemon executes the command using <command>su</command>, as describe
|
||||
before. After this, the command and the password are not thrown
|
||||
away. Instead, they are kept for a specified amount of time. This is
|
||||
the timeout value from in the control module. If another request for
|
||||
the same command is coming within this time period, the client does
|
||||
not have to supply the password. To keep hackers who broke into your
|
||||
account from stealing passwords from the daemon (for example, by
|
||||
attaching a debugger), the daemon is installed set-group-id
|
||||
nogroup. This should prevent all normal users (including you) from
|
||||
getting passwords from the <application>kdesud</application>
|
||||
process. Also, the daemon sets the <envar>DISPLAY</envar> environment
|
||||
variable to the value it had when it was started. The only thing a
|
||||
hacker can do is execute an application on your display.</para>
|
||||
|
||||
<para>One weak spot in this scheme is that the programs you execute
|
||||
are probably not written with security in mind (like setuid
|
||||
<systemitem class="username">root</systemitem> programs). This means
|
||||
that they might have buffer overruns or other problems and a hacker
|
||||
could exploit those.</para>
|
||||
|
||||
<para>The use of the password keeping feature is a tradeoff between
|
||||
security and comfort. I encourage you to think it over and decide for
|
||||
yourself if you want to use it or not.</para>
|
||||
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="Author">
|
||||
<title>Author</title>
|
||||
|
||||
<para>&kdesu;</para>
|
||||
|
||||
<para>Copyright 2000 &Geert.Jansen;</para>
|
||||
|
||||
<para>&kdesu; is written by &Geert.Jansen;. It is somewhat based on
|
||||
Pietro Iglio's &kdesu;, version 0.3. Pietro and I agreed that I will
|
||||
maintain this program in the future.</para>
|
||||
|
||||
<para>The author can be reached through email at &Geert.Jansen.mail;.
|
||||
Please report any bugs you find to me so that I can fix them. If you
|
||||
have a suggestion, feel free to contact me.</para>
|
||||
|
||||
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
|
||||
|
||||
&underFDL;
|
||||
&underArtisticLicense;
|
||||
|
||||
</chapter>
|
||||
|
||||
</book>
|
||||
<!--
|
||||
Local Variables:
|
||||
mode: sgml
|
||||
sgml-omittag: nil
|
||||
sgml-shorttag: t
|
||||
End:
|
||||
-->
|
||||
|
||||
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
|
||||
<!ENTITY % English "INCLUDE">
|
||||
]>
|
||||
|
||||
<refentry lang="&language;">
|
||||
<refentryinfo>
|
||||
<title>KDE User's Manual</title>
|
||||
<author>&Lauri.Watts; &Lauri.Watts.mail;</author>
|
||||
<date>2010-09-18</date>
|
||||
<productname>K Desktop Environment</productname>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle><command>kdesu</command></refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname><command>kdesu</command></refname>
|
||||
<refpurpose>Runs a program with elevated privileges</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>kdesu</command>
|
||||
|
||||
<group choice="opt"><option>-c</option> <replaceable> command</replaceable></group>
|
||||
<group choice="opt"><option>-d</option></group>
|
||||
<group choice="opt"><option>-f</option> <replaceable> file</replaceable></group>
|
||||
<group choice="opt"><option>-i</option> <replaceable> icon name</replaceable></group>
|
||||
<group choice="opt"><option>-n</option></group>
|
||||
<group choice="opt"><option>-p</option> <replaceable> priority</replaceable></group>
|
||||
<group choice="opt"><option>-r</option></group>
|
||||
<group choice="opt"><option>-s</option></group>
|
||||
<group choice="opt"><option>-t</option></group>
|
||||
<group choice="opt"><option>-u</option> <replaceable> user</replaceable></group>
|
||||
<group choice="opt"><option>--noignorebutton</option></group>
|
||||
<group choice="opt"><option>--attach</option> <replaceable> winid</replaceable></group>
|
||||
<!--group choice="opt"><option>- -nonewdcop</option></group>
|
||||
|
||||
<group><arg choice="req"><replaceable>command</replaceable> <arg><replaceable>arg1</replaceable></arg>
|
||||
<arg><replaceable>arg2</replaceable></arg>
|
||||
<arg rep="repeat"><replaceable></replaceable></arg></arg></group-->
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>kdesu</command>
|
||||
<arg choice="opt">&kde; Generic Options</arg>
|
||||
<arg choice="opt">&Qt; Generic Options</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
<para>&kdesu; is a graphical front end for the
|
||||
&UNIX; <command>su</command> command for the K Desktop Environment.
|
||||
It allows you to run a program as different user by supplying the
|
||||
password for that user. &kdesu; is an unprivileged program; it uses
|
||||
the system's <command>su</command>.</para>
|
||||
|
||||
<para>&kdesu; has one additional feature: it can optionally remember passwords
|
||||
for you. If you are using this feature, you only need to enter the
|
||||
password once for each command.</para>
|
||||
|
||||
<para>This program is meant to be started from the command line or
|
||||
from <filename>.desktop</filename> files.</para>
|
||||
|
||||
<para>Since <command>kdesu</command> is no longer installed in <userinput>
|
||||
$(kf5-config --prefix)</userinput>/bin but in <userinput>kf5-config --path libexec</userinput>
|
||||
and therefore not in your <envar>Path</envar>, you have to use <userinput>$(kf5-config
|
||||
--path libexec)<command>kdesu</command></userinput> to launch <command>kdesu</command>.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>-c <replaceable>command</replaceable></option></term>
|
||||
<listitem><para>This specifies the command to run as root. It has to be passed
|
||||
in one argument. So if, for example, you want to start a new file manager, you
|
||||
would enter at the prompt: <userinput>$(kf5-config --path libexec)<command>kdesu <option>-c <replaceable>
|
||||
&dolphin;</replaceable></option></command></userinput></para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-d</option></term>
|
||||
<listitem><para>Show debug information.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-f <replaceable>file</replaceable></option></term>
|
||||
<listitem><para>This option allow efficient use of &kdesu; in
|
||||
<filename>.desktop</filename> files. It tells &kdesu; to examine the
|
||||
file specified by <parameter>file</parameter>. If this file is
|
||||
writable by the current user, &kdesu; will execute the command as the
|
||||
current user. If it is not writable, the command is executed as user
|
||||
<parameter>user</parameter> (defaults to root).</para>
|
||||
<para><parameter>file</parameter> is evaluated like this: if
|
||||
<parameter>file</parameter> starts with a <literal>/</literal>, it is
|
||||
taken as an absolute filename. Otherwise, it is taken as the name of a
|
||||
global &kde; configuration file.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-i</option> <replaceable>icon name</replaceable></term>
|
||||
<listitem><para>Specify icon to use in the password dialog. You may specify
|
||||
just the name, without any extension.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-n</option></term>
|
||||
<listitem><para>Do not keep the password. This disables the <guilabel>keep
|
||||
password</guilabel> checkbox in the password dialog.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-p</option> <replaceable>priority</replaceable></term>
|
||||
<listitem>
|
||||
<para>Set priority value. The priority is an arbitrary number between 0 and
|
||||
100, where 100 means highest priority, and 0 means lowest. The default is
|
||||
50.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-r</option></term>
|
||||
<listitem><para>Use realtime scheduling.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-s</option></term>
|
||||
<listitem><para>Stop the kdesu daemon. This is the daemon that caches
|
||||
successful passwords in the background. This feature may also be disabled with
|
||||
<option>-n</option> when &kdesu; is initially run.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-t</option></term>
|
||||
<listitem><para>Enable terminal output. This disables password keeping. This is
|
||||
largely for debugging purposes; if you want to run a console mode app, use the
|
||||
standard <command>su</command> instead.</para> </listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-u</option> <replaceable> user</replaceable></term>
|
||||
<listitem><para>While the most common use for &kdesu; is to run a command as
|
||||
the superuser, you can supply any user name and the appropriate
|
||||
password.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--noignorebutton</option></term>
|
||||
<listitem><para>Do not display an ignore button.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--attach</option> <replaceable> winid</replaceable></term>
|
||||
<listitem><para>Makes the dialog transient for an X app specified by winid.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>su(1)</para>
|
||||
|
||||
<para>More detailed user documentation is available from <ulink
|
||||
url="help:/kdesu">help:/kdesu</ulink>
|
||||
(either enter this &URL; into &konqueror;, or run
|
||||
<userinput><command>khelpcenter</command>
|
||||
<parameter>help:/kdesu</parameter></userinput>).</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Examples</title>
|
||||
<para>Run <command>kfmclient</command> as user <systemitem
|
||||
class="username">jim</systemitem>, and show the &konqueror; icon in the
|
||||
password dialog:</para>
|
||||
<screen><userinput>$(kf5-config --path libexec)<command>kdesu</command> <option>-u jim</option> <option>-i konqueror</option> <command>kfmclient</command></userinput></screen>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Authors</title>
|
||||
<para>&kdesu; was written by
|
||||
&Geert.Jansen; &Geert.Jansen.mail;
|
||||
and <personname><firstname>Pietro</firstname><surname>Iglio</surname></personname>
|
||||
<email>iglio@fub.it</email>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
Reference in New Issue
Block a user