summaryrefslogtreecommitdiff
path: root/core
Unidiff
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/MyPty.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/apps/embeddedkonsole/MyPty.cpp b/core/apps/embeddedkonsole/MyPty.cpp
index 6421ab0..9adc248 100644
--- a/core/apps/embeddedkonsole/MyPty.cpp
+++ b/core/apps/embeddedkonsole/MyPty.cpp
@@ -61,12 +61,13 @@
61 61
62 There's a sinister ioctl(2), signal(2) and job control stuff 62 There's a sinister ioctl(2), signal(2) and job control stuff
63 nessesary to make everything work as it should. 63 nessesary to make everything work as it should.
64*/ 64*/
65 65
66 66
67#include <qfileinfo.h>
67#include <qapplication.h> 68#include <qapplication.h>
68#include <qsocketnotifier.h> 69#include <qsocketnotifier.h>
69#include <qstring.h> 70#include <qstring.h>
70 71
71#include <stdlib.h> 72#include <stdlib.h>
72#include <stdio.h> 73#include <stdio.h>
@@ -166,14 +167,16 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int)
166 setenv("COLORTERM","0",1); 167 setenv("COLORTERM","0",1);
167 168
168 if (getuid() == 0) { 169 if (getuid() == 0) {
169 char msg[] = "WARNING: You are running this shell as root!\n"; 170 char msg[] = "WARNING: You are running this shell as root!\n";
170 write(ttyfd, msg, sizeof(msg)); 171 write(ttyfd, msg, sizeof(msg));
171 } 172 }
172; //creates a login shell 173
173 execl(cmd, cmd, "--login", 0); 174 QString ccmd = "-"+QFileInfo(cmd).fileName(); //creates a login shell
175
176 execl(cmd, ccmd.latin1(), 0);
174 177
175 donePty(); 178 donePty();
176 exit(-1); 179 exit(-1);
177 } 180 }
178 181
179 // parent - continue as a widget 182 // parent - continue as a widget