# Title: .bash_profile # Author: Frédéric CHEVALIER # Version: 2.0 # Created in: 2014-01-07 # Modified in: 2016-06-10 #==========# # Versions # #==========# # v2.0 - 2016-06-10: PATH updated / DISPLAY variable setup improved to allow remote display through ssh / start_agent with multikey management / start_agent calling improved / ssh aliases updated # v1.3 - 2014-09-25: start_agent with limited ssh key lifetime added # v1.2 - 2014-08-26: CHERE_INVOKING variable added # v1.1 - 2014-08-20: multiscreen remove because of .screenrc set up / Java variables added # v1.0 - 2014-08-11: rewriting for better interplay with .bashrc # v0.0 - 2014-01-07: creation #===============================# # Get the aliases and functions # #===============================# if [[ -f ~/.bashrc ]] then source ~/.bashrc fi #==================# # Specific aliases # #==================# # Shortcuts for ssh operations alias medusa='ssh medusa' alias medusa2='ssh medusa2' alias mendel='ssh mendel' alias bulmer='ssh bulmer' # Shortcut for vim alias vi='vim' # Path to Windows home alias wh="cd /cygdrive/c/Users/$USER/" #================================================# # User specific environment and startup programs # #================================================# #---------------# # Personal Path # #---------------# # Java export JAVA_HOME=/cygdrive/c/Users/$USER/AppData/Local/PortableApps/CommonFiles/Java export PATH=$PATH:$JAVA_HOME/bin # Chere variable (read by /etc/profile - important to start new shell session from current directory instead of $HOME) export CHERE_INVOKING=1 #----------------# # Window display # #----------------# # Set up the display variable to get an automatique display in the X server if [[ -z "$SSH_CONNECTION" ]] then export DISPLAY=:0.0 elif [[ -n "$SSH_CONNECTION" && -z "$DISPLAY" ]] then flag="\$DISPLAY has no value" elif [[ -n "$SSH_CONNECTION" && $DISPLAY =~ ":0.0" ]] then flag="Value of \$DISPLAY is $DISPLAY" fi if [[ -n "$flag" ]] then msg="${flag}. You cannot display remote windows. If -Y was used, set \"X11Forwarding yes\" in the server sshd_config file (see man sshd_config)." if [[ $(echo $PS1 | grep '\\e\[') ]] then echo -e "\n\e[33mWarning:\e[00m $msg\n" else echo "\nWarning: $msg\n" fi fi #-----------------------# # SSH environment setup # #-----------------------# # Variables SSH_KEY_LIST="$HOME/.ssh/key_list" # File with full path of keys (one per line) to load with start_agent [[ -f "$SSH_KEY_LIST" ]] && SSH_KEYS=($(cat $SSH_KEY_LIST)) lifetime=259200 # seconds => 3 days # Loading keys if [[ -f "${SSH_ENV}" ]] then source "$SSH_ENV" # Check if the ssh key is still stored if [[ $(ssh-add -l &> /dev/null; echo $?) != 0 ]] then pkill ssh-agent eval start_agent -t $lifetime ${SSH_KEYS[@]} fi else eval start_agent -t $lifetime ${SSH_KEYS[@]} fi