Warning, /plasma/kde-cli-tools/kdesu/FAQ is written in an unsupported language. File is not indexed.

0001 Q: On my SuSE system, KDE su does not compile. I get an error that some Qt
0002    header files cannot be found.
0003 A: Install the package qtcompat.
0004 
0005 Q: Is KDE su safe?
0006 A: No program is 100% safe. However, KDE su is not setuid root and it
0007    handles the password you enter with great care so it should be safe
0008    enough.
0009 
0010 Q: How safe is password keeping?
0011 A: Enabling password keeping is less secure that disabling it. However, the
0012    scheme kdesu uses to keep passwords prevents everyone (including you, the
0013    user) from accessing them. Please see the HTML documentation for a full
0014    description of this scheme.
0015 
0016 Q: Can I execute tty applications with kdesu?
0017 A: No. TTY application will probably never be supported. Use the Unix su for
0018    those.
0019    NOTE: As of version 0.94, tty _output_ _only_ is supported with the `-t'
0020    switch. This disables password keeping, though.
0021 
0022 Q: What systems does KDE su support?
0023 A: Tested are:
0024     * Linux 2.x (Redhat 6.x, Mandrake "Cooker", Debian potato, SuSE 6.1)
0025     * Solaris 7 (intel)
0026     * FreeBSD 3.2 (intel, w/ egcs 1.1.2)
0027    It will probably work on more systems but I cannot test that.
0028 
0029 Q: Why doesn't it support every system that is out there.
0030 A: KDE su needs to setup a pty/tty pair for communicating with `su'. This is
0031    because some `su' implementations refuse to read a password from stdin if 
0032    that is not a tty.  Setting up a pty/tty pair is not completely portable.
0033 
0034 Q: A good debug tip?
0035 A: If kdesu doesn't fire up your application, use the '-t' switch.
0036    This way, you'll get terminal output. Maybe there is something wrong with 
0037    the program you're trying to run.
0038 
0039 Q: I always get the warning: "Terminal output not available on non-terminal".
0040 A: Maybe you're not logged on from a terminal but probably you're using
0041    UNIX98 pty's without glibc 2.1 (Linux). The glibc 2.0 ttyname() function 
0042    incorrectly reports that UNIX98 slave pty's are no tty's.
0043 
0044 Q: Why not use DBUS for the communications with the daemon?
0045 A: KDE su needs one instance of the daemon per host, instead of per desktop
0046    session.
0047 
0048 Q: How do I attach the dialog box properly to my program?
0049 A: Using --attach <winid>.  In C++, for example, you can call kdesu like:
0050 
0051      QStringList arguments;
0052      arguments << "--attach" << QString::number(window()->winId())
0053      arguments << "--" << "program_to_run";
0054      //kdesu is a libexec program, so it will not be in the path.  findExe will find it correctly anyway
0055      QString su = KStandardDirs::findExe("kdesu");  
0056      if(su.isEmpty()) return false; //Cannot find kdesu
0057      QProcess *process = new QProcess(NULL);
0058      connect(process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processFailed()));
0059      connect(process, SIGNAL(finished( int, QProcess::ExitStatus) ), this, SLOT(processFinished()));
0060      process->start(su, arguments);
0061 
0062 Q: How do I use kdesu from a bash script?
0063 A: kdesu is a libexec program, so does not normally reside in your PATH.
0064    Use something like:
0065 
0066      $(kde4-config --path libexec)kdesu -- program_to_run
0067 
0068   If you want kdesu to attach as a proper dialog box of the current 
0069   konsole window, you can do (bash specific):
0070      
0071      $(kde4-config --path libexec)kdesu ${WINDOWID:+--attach $WINDOWID} -- program_to_run
0072