Summary: | When running 'konsole /path/to/script.sh', and script.sh doesn't exist, konsole complains about pseudo teletype | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Hans Chen <hanswchen> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | 1.6.2 | ||
Target Milestone: | --- | ||
Platform: | Slackware | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Hans Chen
2006-04-20 21:49:13 UTC
Confirmed. This bug hit me hard when I have created a custom application button in kicker. I checked the option "start in terminal". Every time I clicked the button I got the misleading error message mentioned above. The real problem was that the script I wanted to start was not executable. SVN commit 535934 by hindenburg: Verify that the command is executable for '-e <command>.' BUG: 125977 M +15 -2 session.cpp --- branches/KDE/3.5/kdebase/konsole/konsole/session.cpp #535933:535934 @@ -7,6 +7,9 @@ #include <knotifyclient.h> #include <klocale.h> #include <kprocio.h> +#include <krun.h> +#include <kshell.h> +#include <kstandarddirs.h> #include <stdlib.h> #include <qfile.h> @@ -146,8 +149,18 @@ void TESession::run() { -// kdDebug(1211) << "Running the session!" << pgm << "\n"; - //pgm = "pine"; + // Upon a KPty error, there is no description on what that error was... + // Check to see if the given program is executable. + QString exec = QFile::encodeName(pgm); + exec = KRun::binaryName(exec, false); + exec = KShell::tildeExpand(exec); + QString pexec = KGlobal::dirs()->findExe(exec); + if ( pexec.isEmpty() ) { + kdError()<<"can not execute "<<exec<<endl; + QTimer::singleShot(1, this, SLOT(done())); + return; + } + QString appId=kapp->dcopClient()->appId(); QString cwd_save = QDir::currentDirPath(); SVN commit 536013 by hindenburg: Verify that the command is executable for '-e <command>.' CCBUG: 125977 M +15 -2 session.cpp --- trunk/KDE/kdebase/apps/konsole/konsole/session.cpp #536012:536013 @@ -7,6 +7,9 @@ #include <knotifyclient.h> #include <klocale.h> #include <kprocio.h> +#include <krun.h> +#include <kshell.h> +#include <kstandarddirs.h> #include <stdlib.h> #include <qfile.h> @@ -128,8 +131,18 @@ void TESession::run() { - //kDebug(1211) << "Running the session!" << pgm << "\n"; - //pgm = "pine"; + // Upon a KPty error, there is no description on what that error was... + // Check to see if the given program is executable. + QString exec = QFile::encodeName(pgm); + exec = KRun::binaryName(exec, false); + exec = KShell::tildeExpand(exec); + QString pexec = KGlobal::dirs()->findExe(exec); + if ( pexec.isEmpty() ) { + kdError()<<"can not execute "<<exec<<endl; + QTimer::singleShot(1, this, SLOT(done())); + return; + } + QString appId=kapp->dcopClient()->appId(); QString cwd_save = QDir::currentPath(); |