PVM application and the login order

I have a few boxes with 13.1 and the plan is to run an application via PVM (parallel virtual machine) using ssh. I used a similar setup before on Debian but I’m experiencing a couple of issues now with openSUSE. I’ve defined in my .bachrc the necessary environmental variables for PVM but it seems that it is executed late in the login process. For instance (matilda is one of the client/remote machines) if I ssh (setup with ssh-keygen) from the head machine

ssh matilda 'echo ${PVM_ROOT}'

is empty unless I add the the same environmental variables to /etc/bash.bashrc.local. But that is fine, I can live with that. The real issue when I try to spawn a process on a remote machine through pvm is it hangs for a long time and eventually fails without crashing. I can see that the remote machine responds, both under “ps” and temporary files in /tmp. So just in case I added the same to the /etc/bash.bashrc.local on the head machine but no progress was made.

The only way I can get them to finish is to spawn a process on the remote machine from the head machine and then log on to the remote machine and manually execute pvm - a little bit inconvenient.

Am I missing something in the order how these files are executes during login?

I have tried to use both PVM from the standard repository and my own compiled version but both result in the same.

If your problem is that your environmental variables aren’t effective on boot, it’s because you’re using the .bashrc method to set your variables.

AFAIK setting your env variables using .bashrc is effective only once a User logs in, and is effective only for processes running with the logged in User’s credentials or session.

If you want your variables to be effective system-wide (including the system) then you should set your variables in one of two ways…

  1. Create a file /etc/profile.local and set your variables in that file. This file modifies and can supercede what is in /etc/profile and will not be over-written by a system re-install or upgrade.

  2. Create a shell script in /etc/profile.d/, you will find a number of scripts there already, one of which might provide a template for whatever you’re trying to do.


You can try using a heredocs for the command

ssh remoteuser@remotehost << 'EOF'
your command here

Or using the -t option

ssh remoteuser@remotehost -t 'your command here'


ssh remotehost@remoteuser -t 'cat /etc/passwd'

That should take care of the “hang” issues (i hope) :slight_smile: