জিনোম টার্মিনালের একক উদাহরণ?


8

আমি জানতে চাই বা জিনোম টার্মিনালটি এমনভাবে স্থাপন করা সম্ভব যে আমি যখন টার্মিনালটি খুলি এবং ইতিমধ্যে একটি দৃষ্টান্ত খোলা থাকে তখন এটি সেই দৃষ্টান্তটি প্রদর্শন করবে এবং একটি নতুন ব্র্যান্ড খুলবে না।


আপনি উবুন্টুর কোন সংস্করণ ব্যবহার করছেন এবং কোন পরিবেশটি? আমি জিজ্ঞাসা করি, কারণ আপনি যা বর্ণনা করছেন তা হ'ল unityক্য এবং জিনোম-শেলের ডিফল্ট সেটআপ।
মার্টিন

আমি উবুন্টু ১১.১০ ইউটিটি -২ ডি ব্যবহার করছি। আমি একটি পরিষ্কার ইনস্টল করিনি তবে 11.04 থেকে আপগ্রেড করেছি।
মুড

আপনি কি শর্টকাট হিসাবে Ctrl + Alt + T ব্যবহার করেন?
int_ua

হ্যাঁ আমি করি hatএই বা আমি কুফার-এ "Ter-enter" টাইপ করতে একটি টার্মিনাল শুরু করি। এগুলি আমি ব্যবহার করি 2 টি পদ্ধতি methods কারণ আমি প্রায়শই ইউনিটির লুচারটি দেখি না আমি প্রায় 3, 4 টি বিভিন্ন টার্মিনাল দিয়ে শেষ করি।
মেজাজ

উত্তর:


9

টার্মিনাল ফোকাস দেওয়ার জন্য আমি wmctrl ব্যবহার করে একটি সাধারণ শেল স্ক্রিপ্ট লিখেছিলাম। এটি আমি যা চাই ঠিক তাই করে।

প্রথমে wmctrl ইনস্টল করুন sudo apt-get install wmctrl

এরপরে, একটি পাঠ্য-সম্পাদক সম্পাদনা করুন, নিম্নলিখিত লাইনগুলি অনুলিপি করুন।

#!/bin/sh
SERVICE='gnome-terminal'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
  wmctrl -xa $SERVICE
else
  $SERVICE
fi

ফাইলটি এমন কোনও জায়গায় সংরক্ষণ করুন যেখানে আপনি সাধারণত শেল স্ক্রিপ্টগুলি রাখেন। আমার ক্ষেত্রে আমি করেছি: ~/bin/single_instance.sh

ডিরেক্টরিতে সিডি করুন ( cd ~/bin) এবং ফাইলটি কার্যকর করতে সক্ষম করুন makechmod +x single_instance.sh

এখন, প্রধান মেনু খুলুন আনুষাঙ্গিকগুলি »টার্মিনাল টিপুন বৈশিষ্ট্যগুলি নির্বাচন করুন এবং স্ক্রিপ্টের সাথে কমান্ড প্রতিস্থাপন করুন:~/bin/single_instance.sh

সিস্টেম সেটিংস »কীবোর্ড» শর্টকাটগুলি খুলুন । ব্যাকস্পেস দিয়ে লঞ্চ টার্মিনাল শর্টকাটটি অক্ষম করুন । একটি কাস্টম শর্টকাট তৈরি করুন। আবার স্ক্রিপ্টের জন্য পথ এবং নাম পূরণ করুন এবং এটি কী সংমিশ্রণটি ctrl + Alt + t দিন

আপনি সম্পন্ন করেছেন, একক উদাহরণ টার্মিনাল ...


কেন কেবল আপনার স্ক্রিপ্টটিকে ডিফল্ট টার্মিনাল লঞ্চার হিসাবে তৈরি করবেন না? শর্টকাট এবং সমস্ত যুক্ত করার জন্য সমস্ত পদক্ষেপ কেন? স্ক্রিপ্টের জন্য +1, বাস্তবায়নের জন্য -1।
ব্রুনো পেরেইরা

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

2

লঞ্চার কমান্ডে --tab যুক্ত করুন । তারপরে আপনি কেবল একটি অ্যাপ্লিকেশন দিয়ে শেষ করবেন। খোলা।

~$ gnome-terminal --help-all
:
--tab       Open a new tab in the last-opened window with the default profile

না, আমি একটি নতুন ট্যাব চাই না। আমি চাই যে টার্মিনালটি আমি সর্বশেষে যে রাজ্যে রেখেছি সেই স্থানে অগ্রভাগে স্থানান্তরিত হয়।
মুড

1
এটি কেবলমাত্র আমার জন্য উবুন্টু 16.04-এ নতুন উইন্ডো খোলে
বেরুউইক

0

কোনও অ্যাপ্লিকেশন খোলার জন্য যদি আপনি Mod4+#( Mod4= সুপার = "উইন্ডোজ" কী, #লঞ্চারে নম্বর) শর্টকাট ব্যবহার করেন তবে এটি ডিফল্ট আচরণ ।


হ্যাঁ আমি এটি সম্পর্কে সচেতন। তবুও, আমার সাথে একটি টার্মিনাল খোলা থাকতে হবে। আমি বোঝাতে চাইছি যখন আমি কন্ট্রোলটি Alt + টি টিপুন বা কুফার-এ এটি খুলি। আমি যেমন আচরণটি খুঁজছি - উদাহরণস্বরূপ - ক্রোম: যদি কোনও দৃষ্টান্ত খোলা থাকে তবে আমাকে সেই দৃষ্টান্তটি দেখান, যদি কোনও উদাহরণ উপস্থিত না থাকে তবে কোনও নতুন দৃষ্টান্ত খোলে না।
মেজাজ

0

আমি @ মুডের স্ক্রিপ্টটি কিছুটা সাধারণীকরণ করেছি এবং সরল করেছি। এখন এটি একটি কমান্ড লাইন প্যারামিটার নেয় এবং পরিবর্তে pgrep ব্যবহার করে।

sudo apt-get install procps

এই পান্ডুলিপি:

#!/usr/bin/env bash

if pgrep $1
then
    wmctrl -xa $1
else
    $1
fi

0

আমি আমার নিজস্ব স্ক্রিপ্ট যুক্ত করতে চাই, যেহেতু আমি এটি অত্যন্ত দরকারী বলে মনে করি:

  1. যদি বর্তমান ওয়ার্কস্পেসে কোনও জিনোম-টার্মিনাল থাকে তবে এটি এটিকে সামনে এনে ফোকাস দেয়
  2. যদি বর্তমান ওয়ার্কস্পেসে কোনও জিনোম-টার্মিনাল না থাকে, তবে এটি ওয়ার্কস্পেসটি স্যুইচ করে এবং বিদ্যমান বিদ্যমান জিনোম-টার্মিনালটি সামনে উপস্থিত করে এবং এটি ফোকাস দেয়
  3. যদি কোনও জিনোম-টার্মিনাল দৃষ্টান্ত চলমান না থাকে তবে এটি একটি নতুন উদাহরণ খুলবে, সামনে এনে এনে ফোকাস দেয়

আমি এই স্ক্রিপ্টটি চালনার জন্য Ctrl + Alt + T শর্টকাট কনফিগার করেছি এবং এটি গুয়াক বা টিল্ডার চেয়ে আরও আরামদায়ক বলে মনে করি।

#!/usr/bin/env sh

# APP is the binary name you see when you do ps
APP="gnome-terminal"
# WIN_CLASS is the window class you see when you do wmctrl -lx
WIN_CLASS="gnome-terminal-server.Gnome-terminal"

# Use the app from current workpace first, or any if not available
WORKSPACE=$(wmctrl -d | grep '\*' | cut -d ' ' -f1)
TPID=$(ps aux | pgrep $APP)
if [ "$TPID" ]
then
  QTERM_WIN=$(wmctrl -lx | grep $WIN_CLASS | grep $WORKSPACE  | awk 'NR == 1 {print $1}')
  if [ "$QTERM_WIN" ]
  then
    wmctrl -ia $QTERM_WIN
  else
    # No valid app found in the current workspace, switch to any
    QTERM_WIN=$(wmctrl -lx | grep $WIN_CLASS | awk 'NR == 1 {print $1}')
    wmctrl -ia $QTERM_WIN
  fi
else
  $APP &
fi

আমি এটি কিউটার্মিনাল দিয়ে ব্যবহার করি তবে আমি আপনার প্রয়োজন অনুসারে পরিবর্তন করেছি। শুভকামনা

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