-rw-r--r-- | core/apps/embeddedkonsole/MyPty.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/apps/embeddedkonsole/MyPty.cpp b/core/apps/embeddedkonsole/MyPty.cpp index 3622d48..6421ab0 100644 --- a/core/apps/embeddedkonsole/MyPty.cpp +++ b/core/apps/embeddedkonsole/MyPty.cpp @@ -156,33 +156,34 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int) perror( "failed to set process group" ); #if defined (TIOCSCTTY) // grabbed from APUE by Stevens ioctl(STDIN_FILENO, TIOCSCTTY, 0); #endif tcgetattr( STDIN_FILENO, &ttmode ); ttmode.c_cc[VINTR] = 3; ttmode.c_cc[VERASE] = 8; tcsetattr( STDIN_FILENO, TCSANOW, &ttmode ); setenv("TERM","vt100",1); setenv("COLORTERM","0",1); if (getuid() == 0) { char msg[] = "WARNING: You are running this shell as root!\n"; write(ttyfd, msg, sizeof(msg)); } - execl(cmd, cmd, 0); +; //creates a login shell + execl(cmd, cmd, "--login", 0); donePty(); exit(-1); } // parent - continue as a widget QSocketNotifier* sn_r = new QSocketNotifier(fd,QSocketNotifier::Read,this); QSocketNotifier* sn_e = new QSocketNotifier(fd,QSocketNotifier::Exception,this); connect(sn_r,SIGNAL(activated(int)),this,SLOT(readPty())); connect(sn_e,SIGNAL(activated(int)),this,SLOT(error())); return 0; } int MyPty::openPty() { |