5

I am following the following details from another question on this site

You can add an alias to the command by editing the file .profile in your home directory:

gedit $HOME/.profile

and adding the following line:

alias lock='gnome-screensaver-command -l'

Then from terminal:

source .profile

This will activate the alias. From now on, the alias lock In a terminal will have the effect of locking the screen.

But I have to hit source .profile every time I open a new terminal. I want to make this permanent. What should I do?

David Foerster
  • 36,264
  • 56
  • 94
  • 147
Ishan Srivastava
  • 163
  • 1
  • 2
  • 8

3 Answers3

6

After changing the .profile file, you have to logout from your account and login, then it will be sourced once automatically.

Also make sure these file does not exist in your home directory:

~/.bash_profile
~/.bash_login

If you've got these files, the .profile will be ignored.

Ravexina
  • 55,668
  • 25
  • 164
  • 183
4

~/.profile is evaluated (or “sourced”) automatically whenever a new interactive shell is started. The suggestion to run

source .profile

only refers to shell sessions that were started before the changes to ~/.profile were made.

Therefore you don't need to do anything in addition for these changes to take effect in new/future shell sessions.

David Foerster
  • 36,264
  • 56
  • 94
  • 147
2

I'd say aliases should go in ~/.bash_aliases rather then in ~/.profile, this way you have a nice own file for them and every new opened terminal will have them executed without the need to logout/login.

But to answer you question: To make your changes permanent, you need to do nothing but login once again. source ~/.profile won't be needed any more then.

dessert
  • 39,982