Version: 2.2.2 (using 4.2.1 (KDE 4.2.1) "release 104", KDE:KDE4:Factory:Desktop / openSUSE_11.1)
OS: Linux (i686) release 126.96.36.199-3.2-pae
I have KDE 3.5.10 installed alongside KDE 4.2.1, so I could verify if the problem is truly with the new Konsole.
I use NetBeans 6.5 for developing C++ applications. When I run an application, NetBeans starts a local emulator and passes the compiled application's relative path and name. The problem is, that Konsole 2.2.2 always starts with ~ as an initial working directory and I get a File not found error.
If I log into KDE 3.5.10, running my C++ applications from NetBeans works just fine.
The problem can be reproduced even without NetBeans.
Open your KDE4 Konsole and "cd Desktop". Start the KDE3 Konsole from there. Notice that the cwd will be set to ~/Desktop, as expected.
Now open your KDE3 Konsole and "cd Desktop". Then start the KDE4 Konsole from there. Notice that the cwd will still be set to ~. That's what makes NetBeans 6.5 C++ unusable under KDE 4.2.
I payed some attention to the KDE3 Konsole and I could find things like:
KURL Konsole::baseURL() const
I could really find cwd related settings in the KDE4 Konsole's source code.
Is this a missing feature or a bug?
Confirmed in Konsole 2.4.3.
However, you could workaround this using the "--workdir" switch.
Git commit ebcab3c307f83ddf42a9096b8a76a5389ce52f3d by Jekyll Wu.
Committed on 09/04/2012 at 07:53.
Pushed by jekyllwu into branch 'master'.
Use $PWD as the fallback value for setting initial working directory
This means running "konsole" literally in a terminal will open a konsole
which starts in the same directory as the current terminal. "konsole
--workdir ." is no more needed. This makes Konsole behave like most
Another befinit is it is now easier to use konsole for the "Open
terminal here" feature provided in file managers other than dolphin.
Note: due to the "single process" model of konsole, konsole sometimes
does not open the expected the direcotory when used by this "Open
terminal here" feature.
M +6 -3 src/Session.cpp