ইতিমধ্যে একটি টিএমউক্সে থাকা টিএমউक्स সেশনটি কীভাবে বিযুক্ত করতে হবে?


118

আমি আমার স্থানীয় মেশিনে একটি টিএমউक्स সেশনটি খুলেছি, এবং দূরবর্তী মেশিনে এসএসএস করেছি। এর পরে, আমি রিমোট মেশিনে "tmux সংযুক্তি" কমান্ডটি টাইপ করেছি, তারপরে আমি আমার স্থানীয় tmux সেশনে একটি রিমোট tmux সেশন পেয়েছি।

এখন আমি রিমোট টিএমাক্স সেশনটি আলাদা করতে চাই, আমি চেষ্টা করেছি

C-b d

তবে এটি আমার স্থানীয় tmux সেশনটি রিমোটের চেয়ে আলাদা করে দিয়েছে।

আমি কীভাবে দূরবর্তী tmux সংবেদনটি বিচ্ছিন্ন করতে পারি?

উত্তর:


162
C-b C-b d

(ডিফল্ট বাইন্ডিং অনুমান করে)

প্রথম সিবিটি আপনার স্থানীয় টিএমাক্স দ্বারা ব্যাখ্যা করা হয় (কারণ এটি আপনার সমস্ত কীস্ট্রোক দেখতে প্রথম)) দ্বিতীয় সিবি হ'ল একটি কমান্ড যা আপনার স্থানীয় টিএমাক্সকে তার সক্রিয় প্যানে একটি সিবি প্রেরণ করে ; এই উত্পন্ন সিবি দূরবর্তী tmux এ আসে । স্থানীয় মাধ্যমে প্রেরণ করা tmux অপরিবর্তিত; এটি যখন রিমোট টিমাক্সে পৌঁছে এটি detachকমান্ডটি ট্রিগার করে ।

  1. আপনি সিবি টাইপ করুন ।
    আপনার স্থানীয় tmux এটিকে উপসর্গ কী হিসাবে ব্যাখ্যা করে; স্থানীয় tmux এর অধীনে চলমান প্রসেসগুলিতে কিছুই প্রেরণ করা হয় না ।
  2. আপনি সিবি টাইপ করুন ।
    আপনার স্থানীয় tmux এটি send-prefixকমান্ডের সাথে আবদ্ধ ।
    1. আপনার স্থানীয় tmux একটি পাঠায় Cb সক্রিয় পেন (চলমান প্রক্রিয়া SSH )।
    2. ssh এটিকে ( sshd ইত্যাদির মাধ্যমে ) দূরবর্তী প্রান্তে (রিমোট tmux ) প্রক্রিয়ায় প্রেরণ করে
      আপনার দূরবর্তী tmux এটিকে উপসর্গ কী হিসাবে ব্যাখ্যা করে; দূরবর্তী tmux অধীনে চলমান প্রসেসগুলিতে কিছুই প্রেরণ করা হয় না ।
  3. আপনি টাইপ
    আপনার স্থানীয় tmux এটিকে সাধারনত পাস করে (যেহেতু দ্বিতীয় সিবি স্থানীয় tmux এর জন্য একটি পূর্ণ কমান্ড কী অনুক্রমটি শেষ করেছে )।
    আপনার দূরবর্তী tmux এর সাথে আবদ্ধ রয়েছে detach-client; এটি সক্রিয় ক্লায়েন্টকে বিচ্ছিন্ন করে।

এটি যখন tmux সেশনের অভ্যন্তরে চলমান যে কোনও প্রোগ্রামে আপনাকে সিবি প্রেরণের দরকার হয় as আপনি যদি সিবিটি আপনার সাধারণ শেলটিতে প্রেরণ করতে চেয়েছিলেন (যেমন আপনার শেলটি ইমা্যাকস-স্টাইল সম্পাদনা ব্যবহার করছে যেখানে সিবি রয়েছে (এবং আপনি তীরচিহ্নগুলি ব্যবহার করতে অপছন্দ করেন)) শেলটিতে একটি সিবি পাওয়ার জন্য আপনাকে সিবি সিবি ব্যবহার করতে হবে ।backward-char


8
বিকল্পভাবে, আমি প্রায়শই C-a C-aশেষ সক্রিয় উইন্ডোতে ঝাঁপিয়ে পড়ার ব্যবহার দেখেছি । এই পরিস্থিতিতে C-a a dবিচ্ছিন্ন করার চেষ্টা করুন । ধন্যবাদ!
mkelley33

2
দ্রষ্টব্য : আমি উপরে উল্লিখিত কম্বোটি কেবল তখনই উপলব্ধ থাকবে যদি ব্যবহারকারীর tmux.conf এর aপরিবর্তে কীটি আবদ্ধ bথাকে।
mkelley33

আমার বাইরের টিএমউক্স ব্যবহার করে C-aএবং ভিতরেরটি এবং C-bআমার পক্ষে কাজ করা একমাত্র জিনিসটি অন্তর্গত থেকে আলাদা করতে সক্ষম হয় C-a C-b-b dতবে আমার দ্বিতীয়টি কেন দরকার তা পাই নাb
গুইলেম কাকুরুল

লোকেরা এই বিকল্পটি সক্ষম করতে কেবলমাত্র একটি অনুস্মারক যদি তাদের ডিফল্ট কী-বাইন্ডিং না থাকে: আপনি :tmux কমান্ডটি ইন্টারেক্টিভভাবে চালনার জন্য কমান্ডটি চালাতে পারেন , এবং তারপরে bind-key -n j send-prefixকমান্ডের মাধ্যমে একটি বাইন্ডিং সেটআপ করতে পারেন । এই উদাহরণে আমি jউপসর্গটি পাঠাতে বাঁধতে চেয়েছিলাম । অন্যথায়, ডেভের উত্তরটি ব্যবহার করুন: tmux detachকমান্ডটি ব্যবহার করুন ।
nealmcb

46

কী-বাইন্ডিংগুলি ডান টিএমউक्स দৃষ্টান্তে তৈরি করার বিষয়ে চিন্তা না করেই এটি করার আরেকটি উপায় হ'ল tmux detachরিমোট টিএমাক্স সেশনে টাইপ করা ।


8

আমি সাফল্য ছাড়াই প্রথম উত্তর চেষ্টা করেছিলাম।

নিম্নলিখিতগুলি দ্বারা আমি যে ফলাফল চেয়েছিলাম তা পেতে সক্ষম হয়েছি:

tmux attach

আমি tmux প্রবেশ করলাম এবং দেখলাম অন্যান্য সেশনটি এখনও সংযুক্ত ছিল

সুতরাং আমি আমার বর্তমান অধিবেশনটিকে শেলের কাছে ফিরে যেতে আলাদা করেছিলাম: Ctrl + b; d

তারপরে আমি নিম্নলিখিতটি জারি করেছি: tmux attach -d

এটি ডিফল্ট সেশনে সংযুক্ত করতে এবং বর্তমানে সংযুক্ত অন্যান্য সমস্ত সেশনগুলি আলাদা করতে বলে। ক্লায়েন্ট এবং সেশনগুলির অধীনে ম্যান পৃষ্ঠাটি দেখুন

সংযুক্তি-অধিবেশন [-dr] [-t লক্ষ্য-অধিবেশন] (ওরফে: সংযুক্তি) টিএমউক্সের বাইরে থেকে চালিত হলে, বর্তমান টার্মিনালে একটি নতুন ক্লায়েন্ট তৈরি করুন এবং এটি লক্ষ্য-সেশনে সংযুক্ত করুন। যদি ভিতর থেকে ব্যবহার করা হয় তবে বর্তমান ক্লায়েন্টটি স্যুইচ করুন। -D নির্দিষ্ট করা থাকলে সেশনের সাথে যুক্ত অন্য কোনও ক্লায়েন্টকে আলাদা করা হয়। -r ক্লায়েন্টকে কেবল পঠনযোগ্য তা বোঝায় (ডিটাচ-ক্লায়েন্ট কমান্ডের সাথে আবদ্ধ কেবল কীগুলির কোনও প্রভাব আছে)


0

আপনি যদি অন্য কোনও বিকল্প চেষ্টা করতে চান তবে নীচের পদক্ষেপগুলি অনুসরণ করুন

  1. বর্তমান tmux সেশনটি বিচ্ছিন্ন করুন Ctrl+b d। যাতে আপনি এখন সাধারণ টার্মিনাল কমান্ড লাইন প্রম্পটে যান।
  2. tmux ls। বর্তমানে সংযুক্ত অধিবেশনটির সন্ধান করুন
  3. ইতিমধ্যে সংযুক্ত অধিবেশন আলাদা করতে এই আদেশটি কার্যকর করুন ute tmux detach-client -s <attached_session_name>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.