author | llornkcor <llornkcor> | 2002-10-10 19:31:03 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-10-10 19:31:03 (UTC) |
commit | 946708623722041624b0435acfb2fa678959adba (patch) (unidiff) | |
tree | cc5e249b7798145a82ca03cd52b7a7dcb3973082 /core/apps/embeddedkonsole/MyPty.cpp | |
parent | 3f838aec8ec65ff0820c92095b9948413ad895aa (diff) | |
download | opie-946708623722041624b0435acfb2fa678959adba.zip opie-946708623722041624b0435acfb2fa678959adba.tar.gz opie-946708623722041624b0435acfb2fa678959adba.tar.bz2 |
execute /bin/bash --login now
Diffstat (limited to 'core/apps/embeddedkonsole/MyPty.cpp') (more/less context) (show whitespace changes)
-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 | |||
@@ -160,25 +160,26 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int) | |||
160 | #endif | 160 | #endif |
161 | tcgetattr( STDIN_FILENO, &ttmode ); | 161 | tcgetattr( STDIN_FILENO, &ttmode ); |
162 | ttmode.c_cc[VINTR] = 3; | 162 | ttmode.c_cc[VINTR] = 3; |
163 | ttmode.c_cc[VERASE] = 8; | 163 | ttmode.c_cc[VERASE] = 8; |
164 | tcsetattr( STDIN_FILENO, TCSANOW, &ttmode ); | 164 | tcsetattr( STDIN_FILENO, TCSANOW, &ttmode ); |
165 | setenv("TERM","vt100",1); | 165 | setenv("TERM","vt100",1); |
166 | setenv("COLORTERM","0",1); | 166 | setenv("COLORTERM","0",1); |
167 | 167 | ||
168 | if (getuid() == 0) { | 168 | if (getuid() == 0) { |
169 | char msg[] = "WARNING: You are running this shell as root!\n"; | 169 | char msg[] = "WARNING: You are running this shell as root!\n"; |
170 | write(ttyfd, msg, sizeof(msg)); | 170 | write(ttyfd, msg, sizeof(msg)); |
171 | } | 171 | } |
172 | execl(cmd, cmd, 0); | 172 | ; //creates a login shell |
173 | execl(cmd, cmd, "--login", 0); | ||
173 | 174 | ||
174 | donePty(); | 175 | donePty(); |
175 | exit(-1); | 176 | exit(-1); |
176 | } | 177 | } |
177 | 178 | ||
178 | // parent - continue as a widget | 179 | // parent - continue as a widget |
179 | QSocketNotifier* sn_r = new QSocketNotifier(fd,QSocketNotifier::Read,this); | 180 | QSocketNotifier* sn_r = new QSocketNotifier(fd,QSocketNotifier::Read,this); |
180 | QSocketNotifier* sn_e = new QSocketNotifier(fd,QSocketNotifier::Exception,this); | 181 | QSocketNotifier* sn_e = new QSocketNotifier(fd,QSocketNotifier::Exception,this); |
181 | connect(sn_r,SIGNAL(activated(int)),this,SLOT(readPty())); | 182 | connect(sn_r,SIGNAL(activated(int)),this,SLOT(readPty())); |
182 | connect(sn_e,SIGNAL(activated(int)),this,SLOT(error())); | 183 | connect(sn_e,SIGNAL(activated(int)),this,SLOT(error())); |
183 | 184 | ||
184 | return 0; | 185 | return 0; |