কমান্ড লাইন থেকে একটি Chrome অ্যাপ্লিকেশন চালু করুন


14

আমি কীভাবে ব্যাশ থেকে ক্রোম অ্যাপ্লিকেশন চালু করতে পারি না?

পোস্টম্যানের সাথে এটি অর্জনের চেষ্টা করছি ।

এর থেকে google-chrome -h, আমি সেগুলি চেষ্টা করেছি (দুর্ভাগ্যক্রমে):

$ google-chrome --app="Postman"
$ google-chrome --extension="postman"

ফলস্বরূপ একটি নতুন ফাঁকা উইন্ডো খোলা হয়।

আমার প্রথম অনুমানটি হ'ল অ্যাপটি আমার মেশিনে সঞ্চিত আছে এবং এটি চালু করার জন্য আমার একটি নির্দিষ্ট ফাইল (অ্যাপ্লিকেশন সূচক) খুলতে হবে।

এটি অর্জন করা সম্ভব?

এবং যদি এটি সম্ভব হয়, কিভাবে করবেন?


1
সম্ভবত আপনি যদি সংশ্লিষ্ট .desktopফাইলটি ~/.local/share/applicationsখুলেন (খোলা জিডিট উইন্ডোটির উপরে এটি টানুন) আপনি Exec=লাইনে সঠিক কমান্ডটি দেখতে পাবেন ।
জ্যাকব ভিলিজম

নিখুঁত, আপনাকে ধন্যবাদ জ্যাকবভিলিজম। --app-id=[id]আমি এই আইডিটি ধরে নিয়েছি কমান্ডটি এই আইডিটি স্থায়ী বলে ধরে রাখছি তাই আমি একটি উপনাম তৈরি করব, তবে আপনি কি এটির নামে চালু করার কোনও উপায় জানেন?
চালার


@ ডেইজি কারণ এটি একই প্রশ্ন নয়। এটি ক্রোম নিজেই নয়, কীভাবে একটি ক্রোম অ্যাপ্লিকেশন চালু করতে পারে সে সম্পর্কে।
চলসার

উত্তর:


18

জ্যাকবভিলিজমকে ধন্যবাদ জানানো হয়েছে।

কমান্ড-লাইন থেকে একটি ক্রোম অ্যাপ্লিকেশন চালাতে, নিম্নলিখিতটি ব্যবহার করুন:

google-chrome --app-id=[app_id]

পথ ধরে নেওয়া যাক google-chromeহল /opt/google/chrome/google-chrome

অ্যাপ্লিকেশন আইডিটি পুনরুদ্ধার করতে, অ্যাপ্লিকেশন নামের মধ্যে প্রথম উপস্থিতিটি অনুসন্ধান করুন /home/[user]/.local/share/applications


1
নিখুঁত, উত্তর পোস্ট করার সময় নেই, তবে এখনও সাহায্য করতে চেয়েছিলেন :)
জ্যাকব ভ্লিজম

এমনকি আপনি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য ক্রোম স্টোর URL থেকে অ্যাপ আইডি পেতে পারেন। অবশ্যই এটি কেবল আপনার যদি ইন্টারনেট অ্যাক্সেস থাকে তবেই কাজ করে :)
বড়থভুতুকুরি

1
আপনার যদি একাধিক ক্রোম প্রোফাইল থাকে, আপনারও কমান্ড লাইনে প্রোফাইল ডিরেক্টরি যুক্ত করতে হবে:google-chrome --profile-directory=Default --app-id=[app-id]
ভিদার এস রামদাল

0

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

/usr/local/bin/chrome-app-by-name:

#!/bin/zsh
emulate -R zsh -o extendedglob -o nullglob
setopt rematchpcre ;# recommended, I'm so used to PCRE, I sometimes forget what doesn't work in Regex
Chrome_Profile=Default  ;# or "Profile 1" ...
cd ${XDG_CONFIG_HOME:-$HOME/.config}/google-chrome/${Chrome_Profile}/Extensions
foreach app in */*
   # We have just called the path to each version of each extension/app.
   # Next we enclose in braces - slightly unnecessary - to ensure that
   #  whatever version of Zsh, "manifest.json" is completely read and 
   #  closed before we use the variable.
   {
      App_Manifest="$(cat <$app/manifest.json)"
   }
   if [[ $App_Manifest =~ '^\s*"name"\s*:\s*"([a-zA-Z 0-9_.-]+)"' ]]
   then
      app_name="$match[1]" ;# capture the sub-expression match for "name"
      if [[ $app_name == $1 ]]
      then
         # For my system this is actually exec google-chrome-stable ...
         exec google-chrome --app-id="${app%%/*}" $argv[2,-1]
      fi
   fi
end
echo "App name not found.  Please use Exact, case-sensitive spelling."

কিছু অ্যাপ্লিকেশন তাদের নামগুলি স্ক্রিপ্টগুলিতে আরও গভীর করে দেয় - কেন জানি না! ~/.local/share/applicationsউপরের সমতুল্য '^ NAME = ...' এর জন্য ".ডেস্কটপ" ফাইলগুলি অনুসন্ধান করতে আপনাকে এই জাতীয় স্ক্রিপ্টটিতে আবার লিখতে বা যুক্ত করতে হতে পারে এবং তারপরে সেখানে এক্সিকিউশন কমান্ডটি পেতে হবে।

আমি এই স্ক্রিপ্টটি পরীক্ষা করি নি - আমি আপনার প্রশ্নের উত্তর দেওয়ার জন্য এটিকে কেবল লিখেছিলাম। আমি আশা করি যে উদাহরণ হিসাবে এটি আপনার পক্ষে কাজ করে, তবে ধারণাটি সঠিক না হলে আমরা এটি কিছুটা টুইট করতে পারি। অন্য কিছু sh- সামঞ্জস্যপূর্ণ শেলের তুলনায় Zsh সাধারণ, স্ট্রেইট-ফরোয়ার্ড সিনট্যাক্স। আমি পিসিআরই ব্যতীত যে কোনও বৈশিষ্ট্যগুলির জন্য নতুন সংস্করণ বা মডিউলগুলির প্রয়োজন রয়েছে তা বাদ দেওয়ার চেষ্টা করেছি। পিসিআরই সঠিক প্যাটার্ন ম্যাচের জন্য ব্যবহার করা এত সহজ যে আমার প্রায়শই প্রয়োজন আমি নিয়মিত রেজেক্সকে বেশিরভাগ সময় অবহেলা করি। একটি দীর্ঘতর পার্ল স্ক্রিপ্ট কাজ করতে পারে, এছাড়াও এই সিনট্যাক্সের বেশিরভাগটি ইন-মোডে চালিত হবে /bin/bashforeach ... end, $match[1]শৈলীর অ্যারে, setopt rematchpcreবাশ রেজেক্সের সঠিক সিনট্যাক্স এবং emulateমূল ব্যতিক্রম।


0
  1. অ্যাপ্লিকেশনগুলি আপনার টার্মিনালে সংরক্ষিত ফোল্ডারটি খুলুন।
  2. চালান chmod +x *.desktop
  3. আপনার অ্যাপ্লিকেশনগুলিতে থাকা গ্রাফিকাল ফোল্ডারে ফিরে যান
  4. এখন তাদের আইকন থাকা উচিত এবং তারা নাম সংশোধন করে
  5. আপনি যে অ্যাপটি চালু করতে চান তাতে ডান ক্লিক করুন-
  6. ক্লিক properties
  7. ইন Commandলাইন যে সম্পর্কে অর্ধেক নিচে তালিকাভুক্ত করা হয় তখন অ্যাপ্লিকেশানটি খুলতে ব্যবহার কমান্ড।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.