বিভিন্ন ট্যাব সহ জিনোম টার্মিনালটি খুলুন এবং প্রতিটি ট্যাবে কয়েকটি কমান্ড প্রয়োগ করুন


12

এটিই আমি অর্জন করতে চাই:

  1. আমি এটিতে পাঁচটি ট্যাব সহ একটি জিনোম টার্মিনাল খুলতে চাই
  2. আমি প্রতিটি ট্যাবে স্বয়ংক্রিয়ভাবে কমান্ডের একটি সেট (5 - 10 কমান্ড) চালাতে চাই
    প্রথম ট্যাব: স্পষ্ট-কেস ভিউ সেট করবে এবং তার পরে এক বা একাধিক কমান্ড কার্যকর
    করবে দ্বিতীয় ট্যাব: একটি সার্ভারে লগইন করতে হবে এবং
    তৃতীয় ট্যাব কমান্ড প্রয়োগ করবে: কেবলমাত্র কিছু কমান্ড কার্যকর করা উচিত

gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab (ঠিক আছে, দেখুন সেট করা হয়েছে তবে এর পরে কোনও কমান্ড কার্যকর করা হয়নি)

পরিবর্তে এবং এটি নীচের স্ক্রিপ্টে এটি চালানোর চেষ্টা করেছি:

gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript

#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact 

যদি আমি exec gnome-terminal --geometry 125x49-0+81 –tabউদাহরণ থেকে সারিগুলি সরিয়ে ফেলি এবং অন্য কোনও ফাইল থেকে কোনও স্ক্রিপ্ট কল করি তবে এটি ঠিক কাজ করে - আমি সার্ভারে লগ ইন হয়েছি এবং সমস্ত কমান্ড কার্যকর করা হয়েছে। কেউ কি আমাকে এই সমাধান করতে সহায়তা করতে পারে?

আমি প্রতিটি ট্যাবটির জন্য যে স্ক্রিপ্টটি কল করি তা লেখার জন্য কোনও বিকল্প নয়, যেহেতু আমার শেষে প্রতিটিটিতে 5-7 টি ট্যাব সহ 5 টি টার্মিনাল থাকবে এবং এর অর্থ এটি 25 থেকে 30 স্ক্রিপ্টগুলি লিখবে (এটি তার চেয়ে আরও বেশি ব্যয় করবে) আমার সমস্যা)।


আমি জিনোম টার্মিনালের বিশেষজ্ঞ নই, তবে আপনি যে ট্যাবগুলি তৈরি করেন তা কোনও প্রোফাইলে সংরক্ষণ করা উচিত। প্রোফাইল তৈরির পরে, আমি বিশ্বাস করি আপনি এটি স্ক্রিপ্ট করতে পারবেন। জিনোম সহায়তায় প্রোফাইল পরিচালনা করুন দেখুন ।
eyoung100

উত্তর:


11

এটি আমার মেশিনে কাজ করছে বলে মনে হচ্ছে:

gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab

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


আপনার উত্তরের জন্য ধন্যবাদ. অবশ্যই, আমি একটি কমান্ডের আউটপুট দেখতে পাচ্ছি (এই ক্ষেত্রে "তারিখ") তবে আমি বেশ কয়েকটি কমান্ড কার্যকর করতে চাইছি, আউটপুটটি সীমাবদ্ধ করতে সক্ষম হব এবং তারপরে একই ট্যাবটিতে ম্যানুয়ালি নতুন কমান্ড লিখতে চাই।
একিডো

3

যেহেতু কমান্ডটি সম্পূর্ণ হওয়ার পরে বাশ প্রস্থান করে, আপনি bashইন্টারেক্টিভ শেলটি পেতে আপনার আদেশের পরে অন্য কোনও কল করতে পারেন :

gnome-terminal  --tab -e "bash -c 'ps -ef; bash'" --tab -e "bash -c 'ls; bash'" --tab -e "bash -c 'top -n 1; bash'"

দেখে মনে হচ্ছে যে আমি যদি টার্মিনালটি বন্ধ করি তবে অন্তর্নিহিত প্রক্রিয়াগুলি স্বয়ংক্রিয়ভাবে বন্ধ হয় না, এটিরও কি কোনও সমাধান আছে? আমি পুরো উইন্ডোটি বন্ধ করতে চাই এবং তাদের প্রক্রিয়াগুলির সাথে সমস্ত ট্যাবগুলির একটি কিল পাওয়া উচিত
ব্লব

2

স্ক্রিপ্ট.শ হিসাবে নীচে সংরক্ষণ করুন

#!/usr/bin/env bash

me=$(realpath $0)

commands=(
"echo"
"ls -l && echo 'yes'"
"top"
"ps"
)
len=${#commands[@]}

if [ $# -eq 0 ];then
    num=$len
else
    num=$1
fi

n=$((len-num))
command=${commands[$n]}
num=$((num-1))

xdotool key ctrl+shift+t

if [ $num -gt -1 ]; then
    sleep 1; xdotool type --delay 1 --clearmodifiers "$me $num; ${command}"; xdotool key Return;
fi

স্ক্রিপ্ট.শকে $ PATH এ যুক্ত করুন এবং তারপরে এটি চালান

gnome-terminal -x script.sh

কমান্ড লাইনটি ব্যবহার করে জিনোম-টার্মিনালে একটি নতুন ট্যাব খুলুন দেখুন ।


অন্য সবকিছু ব্যতীত ব্যর্থ এই গঠন। এখন, আমি কোনও কমান্ড ছাড়াই কিছু ট্যাব খুলতে চাই। উদাহরণস্বরূপ, আমি দশটি ট্যাব খুলতে চাই, তবে তিনটি যদি সেগুলি হটপের মতো কিছু কমান্ড চালাতে পারে ..
nyxee
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.