1

This question already has an answer here:

I can open my terminal emulator via a keyboard shortcut or through the apps finder that executes the exo-open --launch TerminalEmulator command. My terminal starts and I can cd to any directory and execute any binaries located on any bin directory on my system.

But whenever I launch it by right-clicking any directory on thunar and using the Open terminal here option it sometimes can't find any executable on my local binaries directory (~/.local/bin/). Simply put:

  • Open terminal via app finder, command launcher, keyboard shortcut, … → It can find local executables.
  • Open terminal via context menu on Thunar → It sometimes can't find local executables.

This happens on any terminal (xfce4-terminal, xterm, gnome-terminal). My machine is running Fedora 20 XFCE with thunar version 1.6.3-2.

I can't say for sure since when this started happening, because it has been some time, but this became more frequent in recent days. Also, I have to mention that once my terminals can find executables on my local bin directory and I add a new one, it won't find them again, until some time passes - no matter if it was launched via the thunar's context menu or not.

Has anybody noticed this behaviour too? Can somebody shed some light on what's happening here?

Update:

I've noticed that my .bash_profile file is what adds my local bin directory to the $PATH environmental variable:

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH

And when I run a login shell (not started via the context menu), it executes .bashrc and then .bash_profile, so I proceeded to move those two lines from my .bash_profile to my .bashrc and now everything works fine.

So the question now is: why does the context menu command (which is the same as the normal command) somehow make my terminal to be launched as only interactive and not as a login terminal?

marked as duplicate by Gilles, slm Jul 1 '14 at 1:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Have you checked the PATH variable has necessary bin paths ? – Tingrammer Jun 30 '14 at 7:04
  • @Tingrammer Sorry I forgot to add that, yes, the /home/user/.local/bin/ path is always present in the $PATH var. – arielnmz Jun 30 '14 at 7:28
  • @arielnmz - could you open your terminal via Thunar's context menu and then output here of the command echo $PATH? By default terminal opens in the home directory, so, for example, it probably would work if you put ./.local/bin instead of ~/.local/bin. – Wilf Jun 30 '14 at 8:41
  • You should never use relative paths in your $PATH statement. commands and scripts can change the working directory. Also $HOME is safer then ~. – coteyr Jun 30 '14 at 11:14
  • "So the question now is: why does the context menu command (which is the same as the normal command) somehow make my terminal to be launched as only interactive and not as a login terminal?" Add a new question for this. – coteyr Jun 30 '14 at 19:44
1

I would say your running into a good old classic fight. To ~/.bashrc or to ~/.profile

Checke your $PATH in both.

Read and understand https://stackoverflow.com/questions/415403/whats-the-difference-between-bashrc-bash-profile-and-environment It may answer your question.

Basically your logging in when your launch a terminal emulator, but not when you launch from thunar. This creates a different environment. There is no "right answer" to fix it, and it's a lot like vim or nano, but I usually just source a common file in ALL of them to setup my environments.

  • 1
    This is just a guess BTW but it seems right, please let us know what shell your using in each case, if this isn't it. – coteyr Jun 30 '14 at 11:19
  • I'm really sure this has to do something with my issue, but the strange part is that I can launch a working terminal with this command: exo-open --launch TerminalEmulator, and the context menu option just launches the same command: exo-open --launch TerminalEmulator --working-directory %f (with that extra param). Is thunar doing some strange thing that somehow makes the same command launch a non-login shell? – arielnmz Jun 30 '14 at 17:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.