কমান্ড লাইনের মাধ্যমে আমি কীভাবে জিনোম টার্মিনালের জন্য একটি নতুন প্রোফাইল তৈরি করতে পারি?


15

যেহেতু সবাই জানেন যে আপনি মেনু দ্বারা একটি নতুন প্রোফাইল তৈরি করতে পারবেন যেখানে আপনাকে জিজ্ঞাসা করা হবে যে কোন নতুন প্রোফাইলটি আপনার নতুন প্রোফাইলের জন্য পিতামাতা হওয়া উচিত। কমান্ড লাইনের মাধ্যমে আমি কীভাবে একটি নতুন প্রোফাইল তৈরি করব?

আমি কি জিকনফটোলের মাধ্যমে ডিফল্ট প্রোফাইল থেকে প্রতিটি বিদ্যমান মানটি পড়তে হবে এবং সেগুলি আবার নতুন নামে সেট করা উচিত বা এর থেকে আরও ভাল কোনও সমাধান আছে? উত্তরটি যদি হ্যাঁ হয়: নতুন প্রোফাইল নামের জন্য আমাকে কি মনোযোগ দিতে হবে? নতুন কিছু সবসময় বলা হয় Profile0, Profile1, Profile2ইত্যাদি


উত্তর:


3
# কয়টি পফাইল রয়েছে তা সন্ধান করুন - শুরুতে কেবল 1 হবে - ডিফল্ট
প্রোফাইল_লিস্ট = $ (gconftool-2 --get "/ অ্যাপস / gnome- টার্মিনাল / গ্লোবাল / প্রোফাইল_লিস্ট" | সেড "গুলি | \ [||; s | \] ||;")
প্রতিধ্বনি "1 প্রোফাইল তালিকা:" _ {প্রোফাইল_লিস্ট}
শেষ_প্রোফাইল = $ (প্রতিধ্বনি "$ {প্রোফাইল_লিস্ট}" | সেড "এস /^.* ,//" | সেড / প্রোফাইল // ')
প্রতিধ্বনি "সর্বশেষ প্রোফাইলের নাম / সংখ্যা:" $ {সর্বশেষ প্রোফাইল}

# প্রোফাইল ডিফল্ট এক্স নম্বরটি 0 তে সেট করুন যদি কেবলমাত্র ডিফল্ট থাকে বা শেষ যেটি 1 হয়
যদি [$ {সর্বশেষ_ প্রোফাইল} == "ডিফল্ট"]; তারপর
    next_profile_number = 0;
প্রতিধ্বনি "1 টি নতুন প্রোফাইল সংখ্যা:" $ {পরবর্তী_ প্রোফাইল_সংখ্যা}
আর
    পরবর্তী_প্রোফাইল_নিম্বার = $ (($ {সর্বশেষ_পোষক} + 1));
প্রতিধ্বনি "2 নতুন প্রোফাইল নম্বর:" {{পরবর্তী_ প্রোফাইল_সংখ্যা}
ফাই
প্রতিধ্বনি "নতুন প্রোফাইল নম্বর:" {{পরবর্তী_ প্রোফাইল_সংখ্যা}

# অতিরিক্ত প্রোফাইল "নম্বর" সহ প্রোফাইল তালিকা তৈরি করুন
প্রোফাইল_লিস্ট = $ (প্রতিধ্বনি "[$ {প্রোফাইল_লিস্ট}, প্রোফাইল $ {পরবর্তী_ প্রোফাইল_নম্বার}]")
প্রতিধ্বনি "1 প্রোফাইল তালিকা:" _ {প্রোফাইল_লিস্ট}

# ডিফল্ট প্রোফাইলের ডাম্প পান, গ্লোবাল নামটি নতুন প্রোফাইল নামে পরিবর্তন করুন
profileName = MyNewProfile
gconftool-2 --dump "/ অ্যাপস / gnome- টার্মিনাল / প্রোফাইল / ডিফল্ট"> /tmp/${USER}_gnome-terminal_profiles_${profileName}.xml
সেড-আই "গুলি | ডিফল্ট | প্রোফাইল $ {পরবর্তী_প্রফিল_নম্বার} | g" /tmp/${USER}_gnome-terminal_profiles_${profileName}.xml

# নতুন প্রোফাইল লোড করুন
gconftool-2 --লোড /tmp/${USER}_gnome-terminal_profiles_${profileName}.xml

# জিনোম-টার্মিনালটি বলুন যা অন্য প্রোফাইল
gconftool-2 --set --type list - list-type স্ট্রিং "/ অ্যাপস / gnome- টার্মিনাল / গ্লোবাল / প্রোফাইল_লিস্ট" "$ {প্রোফাইল_লিস্ট list"

# সেট বৈশিষ্ট্য
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ফরফিল_নম্বার exit / প্রস্থান_অ্যাকশন "হোল্ড"
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ফরফিল_নম্বার} / ফন্ট "মনোস্পেস 14"
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ফরফিল_নম্বার background / পটভূমি_ রঙ "" 00000000000000 "
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ফরফিল_নম্বার fore / সম্মুখভূমি_রঙ "# 0000FFFF0000"
gconftool-2 --set - টাইপ স্ট্রিং / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল {{পরের_ফরফিল_নম্বার} / স্ক্রোলবার_পজিশন "লুকানো"
gconftool-2 --set --type বুলিয়ান / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইলগুলি / প্রোফাইল $ {পরের_ফরফিল_নম্বার use / ব্যবহার_সিসটেম_ফন্ট "মিথ্যা"
gconftool-2 --set - টাইপ বুলিয়ান / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ফরফিল_নম্বার} / ব্যবহার_থমে_রঙগুলি "মিথ্যা"
gconftool-2 --set --type বুলিয়ান / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইল / প্রোফাইল $ {পরের_ প্রোফাইল_নম্বার} / লগইন_শেল "সত্য"
gconftool-2 --set --type বুলিয়ান / অ্যাপস / জিনোম-টার্মিনাল / প্রোফাইলগুলি / প্রোফাইল $ {পরের_ফরফিল_নম্বার} / স্ক্রোলব্যাক_মিলিমিটেড "সত্য"

# একটি টার্মিনাল তৈরি করুন
জিনোম-টার্মিনাল --geometry = 80x24 + 0 + 0 - প্রোফাইলে = $ {প্রোফাইলনাম} শিরোনাম "$ {প্রোফাইলনাম}" - জুম 0.8 -e "/ বিন / শ"


9

আপনি একটি নতুন প্রোফাইল তৈরি করতে পারবেন না, তবে আপনি আপনার বর্তমান কনফিগারেশনটি ডাম্প করতে পারেন gconftool-2, এটি ব্যবহার করে , সংশোধন করতে এবং এটি লোড করতে পারেন।

gconftool-2 --dump '/apps/gnome-terminal' > gnome-terminal-conf.xml
## Modify the file here.
gconftool-2 --load gnome-terminal-conf.xml

মনে রাখবেন এটি কেবল অ-ডিফল্ট মানগুলি (বা যা gconf নন-ডিফল্ট হিসাবে সনাক্ত করে) প্রদান করে, ফলস্বরূপ ফাইলটি সম্পূর্ণ হতে পারে না।


5

জন্য গনোম টার্মিনাল> = 3.8 তৈরি, / সম্পাদনা / CLI মাধ্যমে প্রোফাইলের পড়া, আপনি ব্যবহার করতে পারেন dconf-cliবা gsettings। আমার পছন্দ dconf-cli

জিনোম টার্মিনালের ডকনফ ডিরেক্টরিটি /org/gnome/terminal/legacy/profiles:। সমস্ত অপারেশন এই দির মধ্যে ঘটে। আমি এটি সংরক্ষণ করি $dconfdirযা নীচের স্ক্রিপ্টগুলিতে দেখানো হয়েছে।

একটি নতুন প্রোফাইল তৈরি করুন

ন্যূনতম পদক্ষেপ হয়

  1. কমান্ড চালিয়ে প্রোফাইলের জন্য একটি ইউইউডি তৈরি করুন uuidgen
  2. এটি এতে যুক্ত করুন list:dconf write "$dconfdir/list" "[..., 'UUID']"
  3. এটি সেট করুন visible-name:dconf write "$dconfdir/:UUID"/visible-name "'NAME'"

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

একটি কার্যনির্বাহী স্ক্রিপ্ট:

#!/bin/bash
dconfdir=/org/gnome/terminal/legacy/profiles:

create_new_profile() {
    local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
                        sed 's/\///g' | sed 's/://g'))
    local profile_name="$1"
    local profile_ids_old="$(dconf read "$dconfdir"/list | tr -d "]")"
    local profile_id="$(uuidgen)"

    [ -z "$profile_ids_old" ] && local lb="["  # if there's no `list` key
    [ ${#profile_ids[@]} -gt 0 ] && local delimiter=,  # if the list is empty
    dconf write $dconfdir/list \
        "${profile_ids_old}${delimiter} '$profile_id']"
    dconf write "$dconfdir/:$profile_id"/visible-name "'$profile_name'"
    echo $profile_id
}

# Create profile
id=$(create_new_profile TEST)

আপনার লেখার মানটির চারপাশে উদ্ধৃতিগুলি সম্পর্কে সতর্ক থাকুন। ম্যানুয়ালটিতে যেমন বলা হয়েছে ,

কী কী সেট করার সময় আপনার একটি নির্দিষ্ট করা দরকার VALUE। মান ফরম্যাট করে একটি ধারাবাহিকভাবে GVariant, তাই যেমন একটি স্ট্রিং স্পষ্ট কোট অন্তর্ভুক্ত করা আবশ্যক: "'foo'"। মানগুলি মুদ্রণের সময়ও এই ফর্ম্যাটটি ব্যবহৃত হয়।

আপনি চাইলে ক্লাইপের মাধ্যমে প্রোফাইলের আরও বিকল্পগুলি সেট করতে পারেন। চালান

dconf write /org/gnome/terminal/legacy/profiles:/:UUID/KEY "'NAME'"

নির্ধারণ করা. আপনি dconf-editorউপলভ্য বিকল্পগুলি পরীক্ষা করতে ব্যবহার করতে পারেন । এর মতো পথে নেভিগেট করুন /org/gnome/terminal/legacy/profiles:/:9ca4ab84-42f2-4acf-8aa9-50e6351b209a/। এমন একটি পুরানো প্রোফাইল যাচাই করা আরও ভাল which

একটি প্রোফাইল সদৃশ

আপনি dconf dumpএকটি পুরানো প্রোফাইল করতে পারেন এবং loadএটি একটি বিদ্যমান প্রোফাইলের কাছে। সুতরাং কোনও প্রোফাইলের সদৃশ করতে আপনাকে উপরের পদক্ষেপগুলি ব্যবহার করে একটি নতুন তৈরি করতে হবে এবং এটিকে ওভাররাইড করার জন্য কোনও পুরানো ব্যক্তির প্রোফাইল অনুলিপি করতে হবে। ওভাররাইড করার পরে এর নামকরণ মনে রাখবেন।

একটি কার্যনির্বাহী স্ক্রিপ্ট:

# ... codes from last script

duplicate_profile() {
    local from_profile_id="$1"; shift
    local to_profile_name="$1"; shift
    local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
                        sed 's/\///g' | sed 's/://g'))

    # If UUID doesn't exist, abort
    in_array "$from_profile_id" "${profile_ids[@]}" || return 1
    # Create a new profile
    local id=$(create_new_profile "$to_profile_name")
    # Copy an old profile and write it to the new
    dconf dump "$dconfdir/:$from_profile_id/" \
        | dconf load "$dconfdir/:$id/"
    # Rename
    dconf write "$dconfdir/:$id"/visible-name "'$to_profile_name'"
}

# Create a profile from an existing one
duplicate_profile $id TEST1

এর নামের সাথে একটি প্রোফাইলের ইউআইডি পেতে:

get_profile_uuid() {
    # Print the UUID linked to the profile name sent in parameter
    local profile_ids=($(dconf list $dconfdir/ | grep ^: |\
                        sed 's/\///g' | sed 's/://g'))
    local profile_name="$1"
    for i in ${!profile_ids[*]}; do
        if [[ "$(dconf read $dconfdir/:${profile_ids[i]}/visible-name)" == \
            "'$profile_name'" ]]; then
            echo "${profile_ids[i]}"
            return 0
        fi
    done
}

id=$(get_profile_uuid Default)

ডিফল্ট হিসাবে একটি প্রোফাইল সেট করুন

কেবলমাত্র প্রোফাইলের ইউআইডিটি কীতে লিখুন default:

dconf write $dconfdir/default "'$UUID'"

উল্লেখ


আমাদের অবশ্যই অবশ্যই এই উত্তরটিকে উঁচু করে তুলতে হবে কারণ এটি সবচেয়ে সঠিক এবং যুগোপযোগী! আমি এটি নিজের জন্য কিছু সময়ের জন্য অনুসন্ধান করেছিলাম, সেট করেছিলাম dconf watch /এবং অবশেষে যা চলছে তা পেয়েছি এবং উত্তরটি জাজেনিস যেমন লিখেছেন ঠিক ঠিক তেমনই। কেবল একটি ইউআইডি তৈরি করুন, এটি ডাটাবেজে লিখুন এবং সেট করুন visible-nameএবং /list
কামিল

2

সহজ। ব্যবহার করুন:

ফাইল-> নতুন প্রোফাইল আপনার টার্মিনালে ।

আরও বিশদ জন্য এখানে দেখুন ।

তথ্যসূত্র:


1
প্রশ্নটি মেনু ব্যবহার করে না, পরিবর্তে কমান্ড-লাইন ব্যবহার করে বলে says
জোনাথন হার্টলি

ঠিক আছে, অনুমান করুন যে খুব বেশি কিছু করতে পারেনি
রায়নাল গোবেল

1
এটা সব যারা Google এর মাধ্যমে এখানে আসা আমাদের বাকি সাহায্যে করে - আপনি উত্তর সম্পাদিত করতে পারেন বলতে চাই যে এটা খুলছেনা সাহায্য করে না, কিন্তু অন্যদের সাহায্য করতে পারেন ... (আমাকে সাহায্য!)
ঋষি

1
আমি জিইউআইয়ের জন্য একটি নতুন প্রশ্নোত্তর তৈরি করেছি: আমি কীভাবে একটি নতুন জিনোম টার্মিনাল প্রোফাইল তৈরি করতে পারি?
wjandrea
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.