আমারও একই সমস্যা ছিল। আমার পরিস্থিতিতে, সেটিং DISPLAY
যথেষ্ট ছিল না। ডিফল্টরূপে, কেবলমাত্র কোনও নতুন অধিবেশনই নয়, কিছু পরিবেশ সেটআপ করা হয় যখন tmux সার্ভারটি শুরু করার সময় (প্রথম সেশনটি শুরু করার সময়)। নিম্নলিখিতটি আমার পক্ষে কাজ করে তবে আমি সন্দেহ করি এটি অনুকূল।
ইন .tmux.conf
, tmux আপনি যে পরিবর্তনশীলগুলি বাইরের পরিবেশ থেকে রাখতে চান তা মনে রাখুন make আমি স্থানীয়ভাবে জিনোম টার্মিনাল ব্যবহার এবং দূরবর্তীভাবে টার্মিনাল.এপ ব্যবহারের মধ্যে পার্থক্যগুলি ব্যবহার করেছি। তাদের মধ্যে কিছু সম্ভবত প্রয়োজন হয় না, তবে আমি নিশ্চিত না কোনটি। -g
পতাকা সঠিক নাও হতে পারে।
set -g update-environment "\
CLUTTER_IM_MODULE \
DBUS_SESSION_BUS_ADDRESS \
DBUS_SESSION_BUS_ADDRESS \
DEFAULTS_PATH \
DESKTOP_AUTOSTART_ID \
DESKTOP_SESSION \
DISPLAY \
GDMSESSION \
GNOME_DESKTOP_SESSION_ID \
GPG_AGENT_INFO \
GTK_IM_MODULE \
GTK_MODULES \
SESSION_MANAGER \
SSH_AGENT_PID \
SSH_ASKPASS \
SSH_AUTH_SOCK \
SSH_CONNECTION \
WINDOWID \
WINDOWPATH \
XAUTHORITY \
XDG_CONFIG_DIRS \
XDG_CURRENT_DESKTOP \
XDG_DATA_DIRS \
XDG_MENU_PREFIX \
XDG_RUNTIME_DIR \
XDG_SEAT \
XDG_SESSION_DESKTOP \
XDG_SESSION_ID \
XDG_SESSION_TYPE \
XDG_VTNR \
XMODIFIERS \
"
"আপডেট-এনভায়রনমেন্ট" নাম সত্ত্বেও সেটিংসটি বাস্তবে পরিবেশ পরিবর্তন করবে বলে মনে হচ্ছে না। আপনি তবে এটি ব্যবহার করে পুনরুদ্ধার করতে পারেন tmux show-environment
। তাই আমি পরিবেশটি আপডেট করার জন্য এটি আমার .zshrc
:
zshrc_restore_x11_vars()
{
if [[ -z $TMUX ]]
then
return 0
fi
local tmux_env="$(tmux show-environment)"
for var_line in ${(f)tmux_env}
do
if [[ $var_line == -[A-Za-z_]* ]]
then
local var=${var_line#-}
unset $var
elif [[ $var_line == [A-Za-z_]*'='* ]]
then
export $var_line
fi
done
}
precmd()
{
zshrc_restore_x11_vars
}
preexec()
{
zshrc_restore_x11_vars
}
ব্যবহার করা tmux show-environment -s
সম্ভবত আরও ভাল হত। আমি man tmux
এই উত্তরটি লেখার অংশটি পুনরায় পাঠ না করা পর্যন্ত আমি সে সম্পর্কে জানতাম না ।
তবুও, বিদ্যমান সেশনটি ব্যবহার করার সময় আমাকে কখনও কখনও বিচ্ছিন্ন এবং পুনরায় যোগাযোগ করতে হয়। যদিও এটি আগের তুলনায় অনেক কম বিরক্তিকর।
পূর্ণ প্রকাশ: ব্যবহার করার ব্যাপারে tmux show-environment
মধ্যে precmd
এবং preexec
আঙ্গুলসমূহ আমার নিজের ছিলেন না কিন্তু আমি ভুলে যেখানে আমি এটা দেখেছি। আপনাকে ধন্যবাদ, যে কেউ এটি লিখেছেন, যেখানেই আপনি লিখেছেন।