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