আমি জানতে চাই বা জিনোম টার্মিনালটি এমনভাবে স্থাপন করা সম্ভব যে আমি যখন টার্মিনালটি খুলি এবং ইতিমধ্যে একটি দৃষ্টান্ত খোলা থাকে তখন এটি সেই দৃষ্টান্তটি প্রদর্শন করবে এবং একটি নতুন ব্র্যান্ড খুলবে না।
আমি জানতে চাই বা জিনোম টার্মিনালটি এমনভাবে স্থাপন করা সম্ভব যে আমি যখন টার্মিনালটি খুলি এবং ইতিমধ্যে একটি দৃষ্টান্ত খোলা থাকে তখন এটি সেই দৃষ্টান্তটি প্রদর্শন করবে এবং একটি নতুন ব্র্যান্ড খুলবে না।
উত্তর:
টার্মিনাল ফোকাস দেওয়ার জন্য আমি 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 দিন ।
আপনি সম্পন্ন করেছেন, একক উদাহরণ টার্মিনাল ...
লঞ্চার কমান্ডে --tab যুক্ত করুন । তারপরে আপনি কেবল একটি অ্যাপ্লিকেশন দিয়ে শেষ করবেন। খোলা।
~$ gnome-terminal --help-all
:
--tab Open a new tab in the last-opened window with the default profile
কোনও অ্যাপ্লিকেশন খোলার জন্য যদি আপনি Mod4+#
( Mod4
= সুপার = "উইন্ডোজ" কী, #
লঞ্চারে নম্বর) শর্টকাট ব্যবহার করেন তবে এটি ডিফল্ট আচরণ ।
আমি আমার নিজস্ব স্ক্রিপ্ট যুক্ত করতে চাই, যেহেতু আমি এটি অত্যন্ত দরকারী বলে মনে করি:
আমি এই স্ক্রিপ্টটি চালনার জন্য 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
আমি এটি কিউটার্মিনাল দিয়ে ব্যবহার করি তবে আমি আপনার প্রয়োজন অনুসারে পরিবর্তন করেছি। শুভকামনা