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