| 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 Bugs <konsole-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.6.2 | ||
| Target Milestone: | --- | ||
| Platform: | Slackware | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
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();
|