আমি মূলত একটি ম্যাক এবং ssh / tmux আমার লিনাক্স মেশিনের সাথে সংযুক্ত করে কাজ করি। আমার লিনাক্স মেশিনে এসএসএল-এজেন্ট চলছে। আমার আছে
set -g update-environment "SSH_AUTH_SOCK SSH_ASKPASS WINDOWID SSH_CONNECTION XAUTHORITY"
আমার মধ্যে .tmux.conf
। তবুও, আমি যখনই এই সেশনে পুনরায় সংযুক্ত হই তখন আমাকে দৌড়াতে হয়
tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK
নতুন tmux উইন্ডোজ $SSH_AUTH_SOCK
সঠিকভাবে সেট করার জন্য । আমি এটি না করতে পছন্দ করব। কোন ধারনা?
হালনাগাদ
আমি মনে করি আমি এটি ভালভাবে ব্যাখ্যা করছি না। রিমোট মেশিনে শেল খোলার জন্য এখানে আমার শেল ফাংশনটি রয়েছে:
sshh () {
tmux -u neww -n ${host} "ssh -Xt ${host} $*"
}
যখন tmux এই SSH কমান্ড চালায়, $SSH_AUTH_SOCK
হয় না সেট, যদিও এটি করা হয় আমার স্থানীয় পরিবেশে সেট। আমি যদি setenv
উপরের কমান্ডটি দিয়ে এটি টিএমউক্সের পরিবেশে রাখি , সবকিছু ঠিকঠাক কাজ করে। আমার প্রশ্ন হ'ল কেন আমাকে মোটেও সেটেনভ কমান্ড চালাতে হবে?
আপডেট 2
অধিক তথ্য:
যখন আমি কোনও বিদ্যমান সেশনে সংযুক্ত থাকি তখন $SSH_AUTH_SOCK
টিএমউক্স পরিবেশ (বা বৈশ্বিক পরিবেশ) এ সেট করা থাকে না।
% tmux showenv | grep -i auth_sock
-SSH_AUTH_SOCK
যদি আমি এটি ম্যানুয়ালি সেট করি তবে জিনিসগুলি কাজ করে:
% tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK
আমি যদি আলাদা করে রেখে আবার সংযুক্ত করি তবে $SSH_AUTH_SOCK
সেট না হয়ে ফিরে যায়।
env
?