টার্মিনালের ট্যাবগুলি সংরক্ষণ এবং পুনরুদ্ধার করার জন্য কিছু দ্রুত উপায়?


80

আমার একটি টার্মিনাল উইন্ডো রয়েছে যাতে এক ডজন নামের ট্যাব খোলা রয়েছে।

আমি বর্তমান কনফিগারেশনটি সংরক্ষণ করতে চাই এবং নাম এবং ডিরেক্টরিতে এটি পুনরুদ্ধার করতে চাই।

এই কাজ করতে একটি উপায় আছে কি?


খুব আকর্ষণীয় বৈশিষ্ট্য, তবে আমি মনে করি না যে এটি উপলব্ধ।
dlin

আপনি কোন টার্মিনাল অ্যাপ্লিকেশন ব্যবহার করছেন? জিনোম টার্মিনাল? কনসোল? ইত্যাদি
জার্মটভিডিজক

@gertvdijk: যাকে "টার্মিনাল" বলা হয়। আমি বিশ্বাস করি এটি জিনোম।
মিথ্যা

1
@ ফালস বিটিডব্লু।, এক্সফেস উইনকে "টার্মিনাল " বলা হয় । আগ্রহীদের জন্য, এটি Xfce গুডিজ , প্রকল্পসমূহ: অ্যাপ্লিকেশনগুলি: টার্মিনাল :) এ নথিভুক্ত হয়েছে
নস্ট্রোমভ

উত্তর:


44

এতে কনফিগারেশন সংরক্ষণ করতে /tmp/cfg:

gnome-terminal --save-config=/tmp/cfg

এটি আবার লোড করতে:

gnome-terminal --load-config=/tmp/cfg 

হালনাগাদ

বাশ দিয়ে চারপাশে খেলার পরে আমি নিম্নলিখিত স্ক্রিপ্ট তৈরি করেছি যা ফাইলের মধ্যে ট্যাব নামগুলিও সংরক্ষণ করে /tmp/test:

#!/usr/bin/env bash

gnome-terminal --save-config=/tmp/test

LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))
for ((i=0; i<$(grep '\[Terminal' /tmp/test | wc -l); i++))
do
    TITLE=$(xprop -id $WINDOWID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//';xdotool key ctrl+Page_Down;)
    sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test 
done

নামগুলি যথাযথভাবে নির্ধারণ করতে আপনাকে এটি আপনার টার্মিনালের প্রথম ট্যাব থেকে চালাতে হবে। আগের মতো লোড হচ্ছে:

gnome-terminal --load-config=/tmp/test

ব্যাখ্যা:

আমি ট্যাব নাম পেতে নিম্নলিখিত ব্যবহার করতে পারেন:

xprop -id $WINDOWID WM_NAME

আমি পরবর্তী ট্যাবে ঝাঁপ দিতে নিম্নলিখিতগুলি ব্যবহার করতে পারি:

xdotool key ctrl+Page_Down;

আমি এর আগে সংরক্ষণ করা কনফিগারেশন ফাইলটি গ্রেপ করার পরে আমি বেশ কয়েকটি ট্যাব পাচ্ছি:

$(grep '\[Terminal' /tmp/test | wc -l)

সুতরাং আমি লুপের ভিতরে ট্যাবগুলিতে পুনরাবৃত্তি করতে পারি। আমাকে আগে সংরক্ষণিত ফাইলের প্রতিটি ট্যাব কনফিগারেশন বিভাগের জন্য "শিরোনাম = শিরোনাম" এন্ট্রি যুক্ত করতে হবে। এটি করতে, প্রথমে আমি লাইন সংখ্যার একটি অ্যারে তৈরি করছি যেখানে আমি লাইন যুক্ত করব।

LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))

আমি ল্যাপের ভিতরে "টাইটেল = টাইটেলনাম" লাইনটি ট্যাবগুলিতে পুনরাবৃত্তি করছি:

sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test 

1
আপনি স্ক্রিন কমান্ডটি সন্ধান করতে পারেন। আমি এটি ব্যবহার করি না, তবে আমি বিশ্বাস করি এটি সমস্ত ধরণের সেশনগুলি - এমনকি দূরবর্তীগুলিও সংরক্ষণ এবং পুনরুদ্ধার করতে পারে।
জো

1
শিরোনাম কাজ করছে না? হোপ এই শিরোনামের বিষয় নিয়ে সাহায্য করে 'প্রাথমিক TITLE এর রাখুন': নিশ্চিত করুন যে Edit মেনুতে \ প্রোফাইল পছন্দসমূহ ট্যাব 'শিরোনাম এবং কমান্ড' 'টার্মিনাল কমান্ড তাদের নিজস্ব শিরোনাম সেট করেন করুন
সংবেদী

1
এই উত্তরের সাথে উদ্দেশ্যপূর্ণ আচরণ কী? আমার জন্য, এটি ট্যাবগুলি সংরক্ষণ করে এবং আমি বিশ্বাস করি বর্তমান ওয়ার্কিং ডিরেক্টরি। তবে এটি পূর্ববর্তী ইনপুট এবং আউটপুট সংরক্ষণ করে না। ওএস এক্স টার্মিনাল এটি করে।
টাইলার কলিয়ার

11
gnome 3.18: বিকল্প "--save-config" টি জিনোম-টার্মিনালের এই সংস্করণে আর সমর্থিত নয়।
মারিউস আন্দ্রেয়ানা

2
উবুন্টু 16.04: বিকল্প "--save-config" জিনোম-টার্মিনালের এই সংস্করণে আর সমর্থিত নয়।
ইউজিন কুলাবোভভ

12

বিকল্প হিসাবে কেবল ব্যোবু ব্যবহার করা হয় । এর ভিতরে নতুন টার্মিনালগুলি খুলতে F2 টিপুন। টার্মিনালের মধ্যে বাম এবং ডানদিকে স্যুইচ করতে F3 এবং F4 ব্যবহার করুন।

আপনি যখনই চান জিইউআই উইন্ডোটি বন্ধ করুন। আপনি যখন বাইবুুকে আবার খুলেন আপনার সমস্ত টার্মিনাল পুনরুদ্ধার করা হবে :)


1
এটি কি রিবুট জুড়ে কাজ করে? আমার জন্য, এটি পুনরায় বুট করার পরে পুনরায় সেট করা।
akshay2000

3
এটি রিবুটগুলি জুড়ে কাজ করে না
ম্যাক্সালবুবু

1
এটি এখানে সমস্ত ট্যাব পুনরায় খোলে না, কেবল প্রথমটি।
লিওনার্দো কাস্ত্রো

3
এটি পুনরায় বুট করার পরেও যদি এটি কাজ না করে তবে এটি উত্তর হিসাবে কেন আপত্তিযুক্ত ??
কিলজয়

3

আমি সংরক্ষিত সেটিংস পুনরুদ্ধার করার পরে নীচের বিকল্পগুলি চেষ্টা করেছি এবং শিরোনামটিও সঠিকভাবে পুনরুদ্ধার করা হয়েছে।

  1. সেটিংস-> প্রোফাইলগুলিতে যান এবং আপনি যে বর্তমান প্রোফাইলটি ব্যবহার করছেন তা নির্বাচন করুন
  2. সম্পাদনাতে ক্লিক করুন এবং "শিরোনাম এবং আদেশ" ট্যাবে যান
  3. প্রাথমিক শিরোনাম ফাঁকা করুন
  4. নীচের ড্রপ ডাউন বাক্সে "প্রাথমিক শিরোনাম রাখুন" বিকল্পটি নির্বাচন করুন।

এই বিকল্পটি আপনার প্রাথমিক শিরোনাম সেটটি ওভাররাইট করার জন্য এড়ানো হবে।

আশা করি এটি সত্যই সহায়তা করে এবং একটি দুর্দান্ত স্ক্রিপ্ট। যখনই আপনি রিবুট করেন এবং প্রচুর সময় সাশ্রয় করুন আমি খুশিভাবে আমার ভার্চুয়াল বক্সটি ঘন ঘন পুনরায় চালু করতে পারি।

ধন্যবাদ !!


3

আমি আরও একটি বিকল্প চেষ্টা করেছিলাম,

আমি টার্মিনালের জন্য সেটিংস ~/.bashrcপরিবর্তন না করে অন্তর্নির্মিত মানটি ব্যবহার করতে আমার ডিফল্ট শিরোনাম পরিবর্তন করেছি ~/.profile

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="$PS1"
    ;;
*)
    ;;
esac

আপনি যদি এটি করেন তবে আপনার টার্মিনাল প্রোফাইল পরিবর্তন করার দরকার নেই।
যখন আপনি কার্যকর করেন gnome-terminal --load-configসমস্ত ট্যাব নামগুলি সঠিকভাবে পুনঃস্থাপন করা হয়। এবং আপনি নিজের পছন্দ মত পরিবর্তন করতে পারেন এবং ট্যাবগুলি আবার সংরক্ষণ করতে পারেন !!


3

আমি এটি করার একটি উপায় পেয়েছি যা আমার কাছে মনে হয় দ্রুত।

  1. যোগের মতো শিরোনাম এবং আপনার নামটি দিয়ে একটি প্রোফাইল তৈরি করে।
  2. ধরন:

    gnome-terminal --tab-with-profile=PROFILENAME1 --tab-with-profile=PROFILENAME2 ... --tab-with-profile=PROFILENAME999
    

আমি এই কমান্ডটি দিয়ে একটি উপনাম তৈরি করেছি এবং এটি আমার পক্ষে বেশ সুন্দর কাজ করেছে। আমি কেবল টাইপ করেছি workflowএবং একটি টার্মিনাল 3 টি ট্যাব এবং ট্যাবগুলির মধ্যে প্রফাইলে সংজ্ঞায়িত প্রোফাইল সংজ্ঞায় আমি যে শিরোনামগুলি নিয়েছি তা উপস্থিত হয়।

আমার .bashrcফাইলে আমি রেখেছি:

alias workflow='gnome-terminal --tab-with-profile=Git --tab-with-profile=Run | sublime-text &'

1

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


1

বিদ্যমান স্ক্রিপ্টের সামান্য উন্নতি যা সিস্টেমে ইনস্টল করা এক্সডটুল পরীক্ষা করে এবং পথ পরিবর্তন করার জন্য পরিবর্তনশীল যুক্ত করে

#!/bin/bash

SAVEPATH=/tmp/termprofile

if [ ! -f /usr/bin/xdotool ]; then
        echo "please install 'xdotool'"
        exit 1
fi

gnome-terminal --save-config=$SAVEPATH

LINES=($(grep -n '\[Terminal' $SAVEPATH | cut -d: -f1))
for ((i=0; i<$(grep '\[Terminal' $SAVEPATH | wc -l); i++))
do
    TITLE=$(xprop -id $WINDOWID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//';xdotool key ctrl+Page_Down;)
    sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" $SAVEPATH
done

1

নায়াকিনের উপরের উত্তরটি প্রসারিত করে, এই স্ক্রিপ্টটি একাধিক উইন্ডো এবং ট্যাব কনফিগারেশনের জন্য কাজ করবে এবং সমস্ত ট্যাব রয়েছে এমন ট্যাবগুলির জন্য সঠিকভাবে ট্যাব শিরোনাম সংরক্ষণ করবে।

এটি বর্তমানে জিনোম-টার্মিনাল ৩.২-তে পরীক্ষা করা হয়েছে তবে একই রকম সংরক্ষণ-কনফিগার কার্যকারিতা সহ কোনও টার্মিনাল প্রোগ্রামের জন্য কনফিগার করা যেতে পারে।

এর জন্য 'xprop', 'xdotool', এবং 'wmctrl' সরঞ্জাম প্রয়োজন।

কোড:

#!/usr/bin/env bash

FILE="$1"
gnome-terminal --save-config=$FILE

WINDOWLINES=$(wmctrl -lx | grep gnome-terminal.Gnome-terminal)
WINDOWNUM=$(echo "$WINDOWLINES" | wc -l)
TABLISTS=$(grep "^Terminals" $FILE)

for ((i=1; i<=$WINDOWNUM; i++))
do
    WINDOWLINE=$(echo "$WINDOWLINES" | sed -n "$i{p;q}")
    WINDOW_ID=$(echo "$WINDOWLINE" | cut -d' ' -f1)
    #Switch to window
    wmctrl -i -a $WINDOW_ID

    LINE=$(echo "$TABLISTS" | sed -n "$i{p;q}"); LINE=${LINE#Terminals=}
    TERMINALNUM=$(echo "$LINE" | grep -o ';' | wc -l)
    #go to first tab of the window if more than 1
    [ $TERMINALNUM -gt 1 ] && xdotool key alt+1 && sleep .1

    for tab in ${LINE//;/ }
    do
        #Get the current tab title
        TITLE=$(xprop -id $WINDOW_ID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//')
        #Insert it into the config file
        [ "$TITLE" == "${TITLE//WM_NAME/}" ] && sed -ri "/\[${tab}\]/aTitle=${TITLE}" $FILE
        #Move to the next tab in the window
        xdotool key ctrl+Page_Down
    done
done

1

আমি জিনোম টার্মিনালেও সেই বৈশিষ্ট্যটি সন্ধান করেছি কিন্তু এটি খুঁজে পাইনি। আমি এখনও অবধি সেরা বিকল্পটি পেয়েছি কনসোল ব্যবহার করা। এটি আপনাকে আপনার ট্যাবগুলি বুকমার্ক করার অনুমতি দেয়, যাতে আপনি বুকমার্ক মেনু থেকে তাদের চয়ন করে ফিরে যেতে পারেন। আশা করি এটা কাজে লাগবে.



0

যোগের পদ্ধতির মতো, সম্পাদনা করুন >> প্রোফাইল পছন্দসমূহ >> শিরোনাম এবং কমান্ড >> শিরোনাম >> যখন টার্মিনাল কমান্ডগুলি তাদের নিজস্ব শিরোনাম সেট করে: >> " প্রাথমিক শিরোনাম প্রস্তুত করুন "

তারপরে এক্সিকিউট করুন: জিনোম-টার্মিনালস - সেভ-কনফিগারেশন = টার্মিনাল-সিএফজি

টার্মিনাল উইন্ডো বন্ধ করুন

একটি নতুন টার্মিনাল খুলুন, এবং এর মধ্যে সম্পাদন করুন : জিনোম-টার্মিনাল - লোড-কনফিগারেশন = টার্মিনাল-সিএফজি

আমার পক্ষে ভাল কাজ করে, সমস্ত শিরোনাম রইল।


0

হাইপার ( https://github.com/zeit/hyper ) একটি ভাল ক্রস প্ল্যাটফর্ম বিকল্প যা জাভাস্ক্রিপ্টে লিখিত এবং ইলেক্ট্রনের সাথে বান্ডিল রয়েছে।

একটি জনসংযোগ রয়েছে যা বাক্স থেকে সেশন সেভ / পুনরুদ্ধার করার জন্য সমর্থন যোগ করতে চলেছে: https://github.com/zeit/hyper/pull/945

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