কেন 'tmux' ডিফল্টরূপে লগইন শেল হিসাবে নতুন উইন্ডো তৈরি করে?


26

যখন আপনি tmuxকোনও চলমান সেশনের অভ্যন্তরে একটি নতুন সেশন শুরু করেন বা একটি নতুন উইন্ডো তৈরি করেন, তখন এর ডিফল্ট আচরণ হ'ল bashলগইন শেল হিসাবে শেল (প্রাক্তন . :) চালানো ।

আমি বুঝতে পারি যে লগইন শেলটি আপনি যখন কোনও সিস্টেমে লগইন করছেন ঠিক তখনই আগ্রহের কনফিগারেশন এবং পদ্ধতিগুলির একটি রুটিন সম্পাদন করার উদ্দেশ্যে । তবে বেশিরভাগ ক্ষেত্রে (আপনি লগইন শেল tmux হিসাবে ব্যবহার করতে পারেন ব্যতীত ) যখন ব্যবহারকারী কেবল নতুন উইন্ডো খুলতে চান তখন এটি করা তার আসল উদ্দেশ্য নয়।

সুতরাং এটির ডিফল্ট আচরণ করার যৌক্তিকতা কী tmux?


বিষয়টি সম্পর্কে ডকুমেন্টেশনটি কেবলমাত্র বলে:

default-command  shell-command
        Set the command used for new windows (if not specified when the
        window is created) to shell-command, which may be any sh(1)
        command.  The default is an empty string, which instructs tmux
        to create a login shell using the value of the default-shell
        option.

উত্তর:


24

ইন্টারেক্টিভ নন-লগইন শেল সাধারণত আপনার শীর্ষ স্তরের লগইন শেলকে কখনই ছাড়িয়ে যায় না, তাই তারা এটির যে কোনও সুযোগ-সুবিধা যে কোনও সময় উপলভ্য হতে পারে বলে আশা করতে পারে, তবে tmux এর ক্ষেত্রে এটি হয় না:

  • আপনি আপনার শেলটিতে লগ ইন করেন -> আপনার লগইন স্ক্রিপ্টগুলি চালিত হয়
  • আপনি tmux চালান, কিছু করুন, বিচ্ছিন্ন
  • আপনার শীর্ষ স্তরের শেলটি থেকে প্রস্থান করুন -> আপনার লগআউট স্ক্রিপ্টগুলি চালিত হয়
  • tmux সেশনটি এখনও চলছে তবে আপনার লগইন শেল দ্বারা শুরু করা কোনও সুবিধা এই মুহুর্তে পাওয়া যায় না
  • আপনি আবার লগ ইন করুন এবং অন্য লগইন শেল থেকে আবার সংযুক্ত
  • নতুন লগইন শেল দ্বারা শুরু হওয়া কোনও সুবিধা tmux দ্বারা দৃশ্যমান নাও হতে পারে কারণ এটি এখনও পুরানো পরিবেশের সাথে চলছে (পরিবেশ আপডেট করার জন্য কমান্ড থাকলেও)

কেউ কেউ ভাবেন যে tmux প্রারম্ভিক লগইন শেলগুলি যেভাবেই হোক অপ্রয়োজনীয় কারণ বেশিরভাগ সেটআপগুলিতে লগআউট স্ক্রিপ্ট নেই এবং লগইন স্ক্রিপ্টগুলি কিছু পরিবেশের ভেরিয়েবল সেটআপ করে।

এছাড়াও যদি আপনি আপনার লগইন স্ক্রিপ্টগুলিতে আপনার পরিবেশের ভেরিয়েবলগুলিতে স্ট্রিং যুক্ত করেন (যেমন: PATH = AT PATH: / কিছু / অন্য / পথ) এবং সেগুলি একই প্রক্রিয়া শ্রেণিবিন্যাসে একাধিকবার চালিত হয় তবে আপনি নকল দিয়ে শেষ করেন এবং এটি হ'ল সবচেয়ে বিরক্তিকর

তবে তবুও আমি ভাবি যে ডিফল্টটি বোঝায়।

এটি আরও দেখুন: http://openbsd-archive.7691.n7.nabble.com/tmux-and-login-shells-td170948.html


2
উত্তরের জন্য এবং লিঙ্কটির জন্য আপনাকে ধন্যবাদ! আমি মনে করি আমি exec shশেষ পর্যন্ত বেঁচে থাকতে পারি ... (আমি এটি ভাবিনি
not

3
Tmux যদি লগ-ইন শেল না ছড়িয়ে দেয় তবে এমন কিছুর কোনও দৃ concrete় উদাহরণ রয়েছে যা ভাঙ্গতে পারে? আমি এটিকে আমার ডিফল্ট করার কথা ভাবছি, তবে আমি হার্ড-ডায়াগনস-এর সমস্যাটিকে খুব সহজেই চিহ্নিত করতে চাই না।
কার্ল পতেনাউড পুলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.