author | kergoth <kergoth> | 2002-05-13 15:26:27 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-05-13 15:26:27 (UTC) |
commit | 186743975bad7728dde9208f631d81ddc3dd47d9 (patch) (unidiff) | |
tree | d63df244352d766304279080693bf876faed9426 | |
parent | 0a765726bcd937d2252d2004e266b799bada7266 (diff) | |
download | opie-186743975bad7728dde9208f631d81ddc3dd47d9.zip opie-186743975bad7728dde9208f631d81ddc3dd47d9.tar.gz opie-186743975bad7728dde9208f631d81ddc3dd47d9.tar.bz2 |
Now calls /bin/sh - instead of /bin/sh, so that we spawn a login shell.
-rw-r--r-- | core/apps/embeddedkonsole/main.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/core/apps/embeddedkonsole/main.cpp b/core/apps/embeddedkonsole/main.cpp index b3c0453..5bb71c0 100644 --- a/core/apps/embeddedkonsole/main.cpp +++ b/core/apps/embeddedkonsole/main.cpp | |||
@@ -32,30 +32,31 @@ | |||
32 | 32 | ||
33 | /* --| main |------------------------------------------------------ */ | 33 | /* --| main |------------------------------------------------------ */ |
34 | int main(int argc, char* argv[]) | 34 | int main(int argc, char* argv[]) |
35 | { | 35 | { |
36 | setuid(getuid()); setgid(getgid()); // drop privileges | 36 | setuid(getuid()); setgid(getgid()); // drop privileges |
37 | 37 | ||
38 | QPEApplication a( argc, argv ); | 38 | QPEApplication a( argc, argv ); |
39 | 39 | ||
40 | #ifdef FAKE_CTRL_AND_ALT | 40 | #ifdef FAKE_CTRL_AND_ALT |
41 | qDebug("Fake Ctrl and Alt defined"); | 41 | qDebug("Fake Ctrl and Alt defined"); |
42 | QPEApplication::grabKeyboard(); // for CTRL and ALT | 42 | QPEApplication::grabKeyboard(); // for CTRL and ALT |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | QStrList tmp; | 45 | QStrList tmp; |
46 | const char* shell = getenv("SHELL"); | 46 | const char* shell = getenv("SHELL"); |
47 | if (shell == NULL || *shell == '\0') | 47 | if (shell == NULL || *shell == '\0') |
48 | shell = "/bin/sh"; | 48 | shell = "/bin/sh"; |
49 | 49 | ||
50 | // sh is completely broken on familiar. Let's try to get something better | 50 | // sh is completely broken on familiar. Let's try to get something better |
51 | if ( qstrcmp( shell, "/bin/shell" ) == 0 && QFile::exists( "/bin/bash" ) ) | 51 | if ( qstrcmp( shell, "/bin/shell" ) == 0 && QFile::exists( "/bin/bash" ) ) |
52 | shell = "/bin/bash"; | 52 | shell = "/bin/bash"; |
53 | 53 | ||
54 | putenv((char*)"COLORTERM="); // to trigger mc's color detection | 54 | putenv((char*)"COLORTERM="); // to trigger mc's color detection |
55 | 55 | ||
56 | tmp.insert(0,"-"); // we want a login shell | ||
56 | Konsole m( "test", shell, tmp, TRUE ); | 57 | Konsole m( "test", shell, tmp, TRUE ); |
57 | m.setCaption( Konsole::tr("Terminal") ); | 58 | m.setCaption( Konsole::tr("Terminal") ); |
58 | a.showMainWidget( &m ); | 59 | a.showMainWidget( &m ); |
59 | 60 | ||
60 | return a.exec(); | 61 | return a.exec(); |
61 | } | 62 | } |