আমি কীভাবে কমান্ড লাইন যুক্তিগুলি ড্যাশের মাধ্যমে কোনও স্ক্রিপ্টে পাস করতে পারি? (14.04)


8

আমি সম্প্রতি ড্যাশটিতে শেল স্ক্রিপ্ট যুক্ত করার বিষয়ে এই প্রশ্নটি জিজ্ঞাসা করেছি:

14.04 এ আমি টার্মিনালটি না খোলা বাশ স্ক্রিপ্টটি কীভাবে চালাব?

এটি পুরোপুরি কাজ করেছে।

ফলোআপ প্রশ্ন: আমি ড্যাশের মাধ্যমে কীভাবে কমান্ড-লাইন যুক্তিগুলি পাস করতে পারি? উদাহরণ: এই ক্ষেত্রে, আমার ড্যাশ কমান্ডটির নাম দেওয়া হয়েছে "প্যানেল"। স্ক্রিপ্টটি আমার স্ক্রিনটিকে 8 টি টার্মিনাল দিয়ে প্যানেল করে। ব্যবহারের উদাহরণ এখানে:

panel             # Tile the screen with 8 terminal windows.
panel --left      # Tile the left side with 4 terminals
panel --right     # Tile the right side with 4 terminals

ইত্যাদি। আমি কীভাবে --leftবা --rightড্যাশের মাধ্যমে যুক্তিগুলি পাস করতে পারি ? আদর্শভাবে আমি এই কর্মপ্রবাহটি পেতে চাই:

  • সুপার কী টিপুন
  • টাইপ panel --left(উদাহরণস্বরূপ)
  • ড্যাশ চলে যায় এবং বাম দিকটি প্যানেলে যায়।

এই মুহূর্তে এটি সঠিক স্ক্রিপ্টটি চালায় তবে তা উপেক্ষা করে --left

পরামর্শ?



1
@ রদুআরেদানু: ধন্যবাদ, তবে এটি অবশ্যই এর সদৃশ নয়। এটি আপনাকে জানায় যে কীভাবে স্থায়ীভাবে কোনও লঞ্চার প্রোগ্রামটিতে বিকল্পগুলি affix করতে হয়। আমি যখনই চাই (লঞ্চের একাধিক সংস্করণ না রেখে) বিভিন্ন বিকল্প ব্যবহার করতে সক্ষম হতে চাই।
স্যার রবার্ট

5
কেন শুধু Alt + F2 ব্যবহার করবেন না? এটি সম্ভবত সহজ হতে পারে .. অন্য বিকল্পটি পৃথক .ডেস্কটপ ফাইল তৈরি করবে ..
শেঠ

1
... অথবা লঞ্চারের একটি দ্রুত তালিকার সাথে একটি .ডেস্কটপ ফাইল।
জ্যাকব Vlijm

উত্তর:


16

সমস্যা হল তুমি কি "রান" একটি যায় .desktopআর্গুমেন্ট সহ ড্যাশ থেকে ফাইল, তাই সেটআপ ঠিক মত আপনি মনে আছে অসম্ভব আমি ভীত নই। তবে, আপনার স্ক্রিপ্টটি ধরে নিলে আর্গুমেন্ট লাগে না, কয়েকটি মার্জিত বিকল্প বিকল্প রয়েছে, সম্ভবত আরও ভাল:


  1. এতে আপনার স্ক্রিপ্ট সংরক্ষণ করুন ~/bin

    • এক্সটেনশন সরান
    • এটি কার্যকর করা
    • এটি টিপে চালাও AltF2, কমান্ডটি টাইপ করুন

      <scriptname> <argument> 

  1. ইউনিটি লঞ্চারে একটি দ্রুত তালিকা তৈরি করুন:

    (ধরে নিলাম আপনি স্ক্রিপ্টটি এতে সংরক্ষণ ~/binকরেছেন, এটি কার্যকর করে দিয়েছেন এবং এক্সটেনশনটি 1 এর মতো সরিয়ে দিয়েছেন)

    এখানে চিত্র বর্ণনা লিখুন

    [Desktop Entry]
    Name=name_of_your_script_like_you_see_it_in_Dash
    Exec=<scriptname> <default_argument>
    Icon=/path/to/some/icon
    Type=Application
    
    Actions=Panel;Panel -left;Panel -right;
    
    [Desktop Action Panel]
    Name=Panel
    Exec=<scriptname> <default_argument>
    OnlyShowIn=Unity;
    
    [Desktop Action Panel -left]
    Name=Panel -left
    Exec=<scriptname> <argument_1>
    OnlyShowIn=Unity;
    
    [Desktop Action Panel -left]
    Name=Panel -right
    Exec=<scriptname> <argument_2>
    OnlyShowIn=Unity;

    হিসাবে এটি সংরক্ষণ panel.desktopমধ্যে ~/.local/share/applicationsএবং এটি ড্র্যাগ লঞ্চারটিতে উপর।


  1. তিনটি পৃথক কীবোর্ড শর্টকাট তৈরি করুন, উদাহরণস্বরূপ আপনার স্ক্রিপ্ট + টি আর্গুমেন্ট চালাতে Alt+ <, Alt+ ^, Alt+ >:

    "সিস্টেম সেটিংস"> "কীবোর্ড"> "শর্টকাটস"> "কাস্টম শর্টকাটস"

    আপনার আদেশগুলি যুক্ত করতে "+" ক্লিক করুন: <scriptname> <argument>


  1. সর্বাধিক সুস্পষ্ট নয়, তবে বিকল্পগুলি অন্বেষণ করে এটি উল্লেখ করা উচিত: আপনি ড্যাশ থেকে একটি (জেনটি) বিকল্প তালিকায় কল করতে পারেন:

    এখানে চিত্র বর্ণনা লিখুন

    আপনার বিকল্পের প্রথম অক্ষরটি টাইপ করুন, রিটার্ন টিপুন এবং আপনার স্ক্রিপ্টটি নির্বাচিত যুক্তি দিয়ে চলবে।

    এখানে চিত্র বর্ণনা লিখুন

    আবার ধরেই নেওয়া যে আপনি স্ক্রিপ্টটি ~ / বিনে সংরক্ষণ করেছেন, এটি কার্যকর করে দিয়েছিলেন এবং 1 এর মতো ভাষা বর্ধন সরিয়ে ফেলেছেন:

    • নীচের স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন, এটি সংরক্ষণ করুন, কার্যকর করুন panel_options.sh

      #!/bin/bash
      
      test=$(zenity --list "1. Panel" "2. Panel -left" "3. Panel -right" --column="Panel options" --title="Panel")
      
      if [[ "$test" = "1. Panel"* ]]; then
          <scriptname> <default_argument>
      elif [[ "$test" = "2. Panel -left"* ]]; then
          <scriptname> <argument_1>
      elif [[ "$test" = "3. Panel -right"* ]]; then
          <scriptname> <argument_2>
      fi
    • নীচের কোড থেকে .ডেস্কটপ ফাইল তৈরি করুন। ইন Icon=লাইন, পথ আপনার আইকনের, সেট Exec=লাইন পাথ pane_options.sh, হিসাবে এটি সংরক্ষণ panel.desktopমধ্যে~/.local/share/applicatios

      [Desktop Entry]
      Name=Panel
      Exec=/path/to/panel_options.sh
      Icon=/path/to/some/icon
      Type=Application
      StartupWMClass=Zenity

খুব পুঙ্খানুপুঙ্খ উত্তর। +1
গ্লুটানীমেট

খুব বিস্তারিত; চমৎকার উত্তর। অনুগ্রহ মূল্যবান! ধন্যবাদ!
স্যার রবার্ট

0

আপনার আসল প্রশ্ন থেকে, দেখে মনে হচ্ছে সঠিক কাজটি হ'ল স্ক্রিপ্টটি সরিয়ে ~/bin/নেওয়া হবে যা আপনার $PATHডিফল্টরূপে হওয়া উচিত ।
আপনি যদি এটি করেন তবে আপনি AltF2আবার স্ক্রিপ্টটি ব্যবহার করে চালাতে সক্ষম হবেন । আপনি যেমন শেলের মতো করেন তেমন যুক্তিও দিতে সক্ষম হবেন।

আপনি যেখানে আপনার স্ক্রিপ্টগুলি রাখেন সেখানে অন্য যে কোনও ফোল্ডার যুক্ত করতে পারেন $PATH। এটি করতে ~/.profile, আপনার পছন্দের পাঠ্য সম্পাদকটিতে খুলুন :

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

শেষে, একটি লাইন যুক্ত করুন ( <folder>আপনার ফোল্ডারের সাথে প্রতিস্থাপন করা) এবং ফাইলটি সংরক্ষণ করুন:

PATH="<folder>:$PATH"

উদাহরণস্বরূপ, আমি $HOME/.binআমার সাথে যুক্ত করি $PATHযাতে আমার বাইনারিগুলি আমার হোম ফোল্ডারটিকে বিশৃঙ্খলা করে না, তবে আপনি আপনার পথে যে কোনও ডিরেক্টরি যুক্ত করতে পারেন কেবল বিপজ্জনক কোনও কিছু যুক্ত না করার বিষয়ে নিশ্চিত হন (যেমন ওয়ার্ল্ড-লিখনযোগ্য)।
পরিবর্তনগুলি পরবর্তী লগইনে কার্যকর হবে।

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