টমুক একটি টার্মিনালের অধীনে চলছে না?


0

আমি tmuxএকটি আকর্ষণীয় জিনিস ব্যবহার এবং সন্ধান করতে শুরু করি ,

মধ্যে gnome-terminal

$ pstree -asp $$
systemd,1 splash
  └─systemd,14385 --user
      └─gnome-terminal-,15157
          └─bash,17525
              └─pstree,17551 -asp 17525

এটা পরিষ্কার যে বর্তমান pstree -asp $$অধীন চলমানgnome-terminal

যাইহোক, যখন tmux চালু করা হয়

$ pstree -asp $$
systemd,1 splash
  └─systemd,14385 --user
      └─tmux: server,16469
          └─bash,17699
              └─pstree,17794 -asp 17699

কেন tmux অধীনে নেই gnome-terminal?


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

আশ্চর্যজনক, আমি খুব বেশি নির্ভর করেছিলাম nohup, আপনি দয়া করে @ সের্গি কলডিয়াজহ্নির উত্তর দেওয়ার জন্য মন্তব্যটি প্রেরণ করতে পারেন
বীজগণিত

1
আমি এই মুহুর্তে ফোনটি ব্যবহার করছি তাই আমার ওয়ার্কস্টেশনে থাকাকালীন আমাকে পরে একটি যথাযথ উত্তর পোস্ট করতে হবে, উদাহরণগুলি সংযুক্ত করে
সের্গি কলডিয়াজহনি

উত্তর:


1

বড় পার্থক্য হ'ল gnome-terminalএকটি জিইউআই অ্যাপ্লিকেশন, একটি উইন্ডো। এটি শেলের এক ধরণের ইন্টারফেস, তবে সেগুলি মূলত পৃথক। যখন জিইউআই অ্যাপ্লিকেশনটি প্রস্থান করে, জিইউআই সার্ভার (এক্স 11 এবং সম্ভবত ওয়েল্যান্ড) পাশাপাশি উইন্ডোগুলি পরিষ্কার করে সেগুলি বন্ধ করে দেয়। gnome-terminalশেলটির পিতা বা মাতা হওয়ার কারণে, শিশু প্রক্রিয়াগুলি বন্ধ করতে একটি সাইনআপ পাঠাবে এবং এটি শেল সেশনটি বন্ধ করে দেবে। একই অবস্থা টিটিওয়াই কনসোল বা এসএসএসের সাথে ঘটে। টিটিওয়াইতে আপনার agettyপ্রক্রিয়া রয়েছে যা আপনার লগইন শংসাপত্রগুলি গ্রহণ করবে এবং তারপরে একটি নির্দিষ্ট প্রোগ্রাম শুরু করবে, সাধারণত একটি শেল, যদিও কিছু ক্ষেত্রে এটি সম্পূর্ণরূপে অন্য কিছু চালানোর জন্য কনফিগার করা যেতে পারে।

এখন, tmuxপৃথক - এটি একটি কনসোল অ্যাপ্লিকেশন এবং লগইনের উপর নির্ভর করে না (যদিও আপনি এটি tty তে লগইন করার সময় প্রদর্শিত করতে পারেন )। বলুন আপনি নিউ ইয়র্কে একটি সার্ভার পেয়েছেন, তবে আপনি ক্যালিফোর্নিয়ায় রয়েছেন। আপনি একটি দীর্ঘ চলমান কমান্ড শুরু করতে চান, সম্ভবত আপগ্রেড করতে পারেন এবং দূরবর্তী সেশন থেকে সংযোগ বিচ্ছিন্ন করতে পারেন। আপনি যা করতে পারেন তা হল tmuxশেলটি tmuxখোলে কমান্ডটি শুরু করা এবং সেশন থেকে Ctrl+ b& dবিচ্ছিন্ন হয়ে। কমান্ড শেল উদাহরণস্বরূপ দ্বারা পরিচালিত চলমান থাকবে tmuxঅসদৃশ gnome-terminal। পরের দিন আপনি করতে পারেন

$ tmux ls
0: 1 windows (created Fri May 17 13:42:54 2019) [167x48]

চলমান সেশনগুলি খুঁজে পেতে এবং এর মাধ্যমে এটিতে আবার সংযোগ স্থাপন করতে

$ tmux attach

সবচেয়ে সাম্প্রতিক অধিবেশন বা মাধ্যমে

$ tmux attach -t 0

আমার উদাহরণ হিসাবে 0 নামক অধিবেশন সংযুক্ত করতে। সামগ্রিকভাবে tmuxসার্ভার-ক্লায়েন্টের পদ্ধতি রয়েছে, যেখানে আপনি সার্ভার প্রক্রিয়া দ্বারা পরিচালিত একটি নির্দিষ্ট সেশনের সাথে সংযোগ স্থাপন করেন এবং /tmp/tmux-<UID>যতক্ষণ না সিস্টেমটি পুনরায় চালু না হয় ততক্ষণ কোনও ইউনিক্স ডোমেন সকেটের (ডিফল্টরূপে ) মাধ্যমে যোগাযোগ চলে communication

হুডের নীচে উভয় tmuxএবং ভার্চুয়াল টার্মিনাল ডিভাইস gnome-terminalব্যবহার করুন pts( ttyউদাহরণস্বরূপ সিরিয়াল কনসোল বা ভার্চুয়াল tty1 কনসোলের জন্য ব্যবহৃত হয়)। এগুলি উভয়ই ইন্টারেক্টিভ শেল এবং পৃথক আদেশগুলি /binবা /usr/binবা আপনার কাস্টম নির্মিত কিছু থেকে চালু করতে সক্ষম । তবুও তাদের প্রয়োজনীয় উদ্দেশ্য আলাদা।

আরো দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.