স্ন্যাপের মাধ্যমে ইনস্টল করা প্রোগ্রামগুলি লঞ্চারে প্রদর্শিত হচ্ছে না


37

উবুন্টু 16.04 এ সবেমাত্র আপডেট হয়েছে এবং প্রথমবারের জন্য স্ন্যাপ প্যাকেজ চেষ্টা করে।

সুতরাং কিছু স্টাইল ফাইল দেখার জন্য আমার জাল্যাব দরকার ছিল। পিটেন লগ ইন দিয়ে ইস্যু করতে দৌড়ে।

sudo snap install meshlab

এবং আরে প্রেস্টো মেশল্যাপ ইনস্টল হয়েছে, কোনও পিট লগ ইন নেই। কমান্ড লাইন থেকে সূক্ষ্ম কাজ করে। তবে প্রোগ্রামটি লঞ্চারে প্রদর্শিত হচ্ছে না। কেন? স্ন্যাপ প্যাকেজগুলি কি লঞ্চারে প্রদর্শিত হচ্ছে না? আমি এটা কিভাবে ঠিক করবো?

উত্তর:


40

আপনি যদি zsh ব্যবহার করছেন তবে স্ন্যাপ বাইনারি এবং ডেস্কটপ ডিরেক্টরিগুলি স্বয়ংক্রিয়ভাবে আপনার পরিবেশের ভেরিয়েবলগুলিতে যুক্ত হবে না। এটি সমাধানের জন্য, আমি নীচের লাইনটি / etc / zsh / zprofile (আর্ক থেকে নেওয়া) এ যুক্ত করেছি:

emulate sh -c 'source /etc/profile'

এটি আপনার / ইত্যাদি / প্রোফাইল ফাইলটি ব্যাশ অনুকরণ সহ প্রক্রিয়া করবে, যা উত্স উত্স /etc/profile.d/* এবং যথাযথ PATHs সেট করে ইত্যাদি will

বাকী সমস্ত ডিফল্ট ব্যাশ প্রোফাইল অন্তর্ভুক্ত না করে আপনার পথে কেবল স্ন্যাপ ডিরেক্টরি যুক্ত করতে:

emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'

1
ধন্যবাদ! 17.10 এ খুব ভাল কাজ করে। Zsh এ স্যুইচ করা আমার পক্ষেও এই সমস্যাটি এনেছে।
ডানউইট

2
তাদের ইনস্টল প্রক্রিয়াতে এটি ঠিক করা উচিত বা স্ন্যাপের জন্য এফএকিউ / ট্রাবলশুটিং পদক্ষেপ যুক্ত করা উচিত।
ব্র্যাডেরজঃ 10:58

1
ধন্যবাদ, আমার জন্য 18.10 এ কাজ করেছে। ভবিষ্যতে এটি কোনওভাবে ঠিক হয়ে যাবে আশা করি।
পাভেল ডেভিডভ

1
উজ্জ্বল, দুর্ভাগ্যক্রমে এটি এখনও 19.04
jhole89

11

এটি স্ন্যাপ সিস্টেমে অন্তর্নির্মিত, তবে আপনাকে আপনার ড্যাশটিতে লিঙ্কটি যুক্ত করতে হবে। প্রোগ্রাম শুরু করতে টাইপ করুন

snap run meshlab

এটি শেষ হয়ে ওঠার পরে আইকনে ডান ক্লিক করুন এবং "অ্যাড টু ড্যাশ" এ ক্লিক করুন।


7

আমার জন্য, এটি উবুন্টু 18.04 এর অধীনে ওয়েল্যান্ড / জেডএসএইচের সংমিশ্রণের সাথে সম্পর্কিত বলে মনে হচ্ছে - ভেরিয়েবলের /var/lib/snapd/desktopতালিকাভুক্ত হওয়া সত্ত্বেও XDG_DATA_DIRS(এটি সম্পন্ন করা হয়েছে /etc/profile.d/apps-bin-path.sh), লঞ্চটি সেই ফোল্ডারটি থেকে অ্যাপগুলিকে চিনতে পারে না।

একটি তাত্ক্ষণিক কাজটি হ'ল পছন্দসই ডেস্কটপ ফাইলগুলি সিম-লিঙ্ক করা, উদাহরণস্বরূপ:

ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications

5

স্ন্যাপ প্যাকেজগুলি কি লঞ্চারে প্রদর্শিত হচ্ছে না?

যতক্ষণ না স্ন্যাপটি যথাযথ .ডেস্কটপ ফাইল পাঠায় ততক্ষণ তারা তা করে। কেবল মেশলবের meshlabserverএকটি সঠিক ডেস্কটপ ফাইল রয়েছে (এবং প্রকৃতপক্ষে এটি আমার লঞ্চারে প্রদর্শিত হবে)। meshlab.Desktop ফাইল অবশ্য Exec প্রয়াস করছে meshlab.meshlab, যখন এটি শুধু ব্যবহার করা উচিত meshlab। ফলস্বরূপ, এটি প্রদর্শিত হয় না।

আমি এটা কিভাবে ঠিক করবো?

আপনি যদি চালান তবে snap info meshlabআপনি প্রকাশকের জন্য যোগাযোগের তথ্য দেখতে পাবেন। আমি আপনাকে তাদের কাছে একটি বাগ রিপোর্ট করার পরামর্শ দিচ্ছি। ততক্ষণ আপনি সর্বদা meshlabসিএলআই থেকে চালাতে পারেন , বা এর জন্য আপনার নিজের .ডেস্কটপ ফাইল তৈরি করতে পারেন।


5

যোগ করার জন্য আমার জন্য সমাধান কুবুন্টু 18.04 চালানো

export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"

মত একটি কাস্টম ফাইলে snap-apps.shমধ্যে ~/.config/plasma-workspace/env। তবে এটি কেবল প্লাজমা 5 তে প্রযোজ্য এবং ইতিমধ্যে 18.10 সালে উবুন্টুতে স্থির করা যেতে পারে।

ডিসাজার ইতিমধ্যে তার উত্তরে উল্লেখ করেছেন /etc/profile.d/apps-bin-path.shবলে মনে হয় স্বাভাবিকভাবে কাজ করে না।


2
এটি পুরোপুরি কাজ করেছে - সহকর্মী কুবুন্টু ব্যবহারকারী।
জন

ধন্যবাদ! কুবুন্টুতে আমার সমস্যাটি সমাধান করুন।
Полянин

3

আপনাকে snap run meshlabটার্মিনাল থেকে চালাতে হবে এবং এটি বন্ধ করতে হবে, তারপরে আপনি মেশলাবটি আপনার আবেদন তালিকায় দেখতে পাবেন


3

আমি অন্য কারও পোস্টে মন্তব্য করতে পারিনি। যাইহোক, এটি ডিজারের উত্তরটি যুক্ত করা যা ফেডোরা ২৮ এ আমাকে সাহায্য করেছিল (যা আমি যতটা বলতে পারি, ওয়েল্যান্ড ব্যবহার করে)

লগইন করে প্রতিটি ফাইল / var / lib / snapd / ডেস্কটপ / অ্যাপ্লিকেশনগুলিতে লিংকে লিঙ্ক করতে আমি আমার ~ / .bash_profile এ নিম্নলিখিত স্নিপটি যুক্ত করেছি। একইভাবে এটি অ্যাপ্লিকেশনগুলির লিঙ্কগুলি অপসারণ করতে সংশোধন করা যেতে পারে যা আর অস্তিত্বের জন্য নেই লাইনের জন্য রাস্তাগুলি পরিবর্তন করে এবং যদি লাইনটি তারপরে একটি আরএম দিয়ে ln প্রতিস্থাপন করে।

for i in /var/lib/snapd/desktop/applications/*.desktop; do
    if [ ! -f ~/.local/share/applications/${i##*/} ];then
            ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
    fi;
done

এটি সম্পাদন করার জন্য সম্ভবত বিভিন্ন উপায়ে রয়েছে তবে এটি কার্যকর হয় works


1
অকেজো ব্যবহার lsfor in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ...পরিবর্তে ব্যবহার করুন। এটি অর্জনের একটি ছোট উপায় হবে ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null
ডেভিড ফোস্টার

আমি জানতাম যে আপনার প্রথম উদাহরণটি কার্যকর করার একটি উপায় আছে, তবে আমি প্রাথমিকভাবে যখন এটি লিখছিলাম তখন আমি remember {i ## * /} অংশটি মনে করতে পারি না। আমি ভেরিয়েন্টটি অন্তর্ভুক্ত করতে আমার পোস্টটি সম্পাদনা করব। যাইহোক, আপনার পরবর্তী পরামর্শটি লিঙ্কটি ইতিমধ্যে উপস্থিত রয়েছে কিনা তা পরীক্ষা করে না, এভাবে অকেজোভাবে ln কমান্ড পুনরায় কার্যকর করে। প্রকৃতপক্ষে, আমি গ্রেপ এড়াতে পাশাপাশি এক্সিকিউট করার সময় অতিবাহিত প্রক্রিয়াগুলির সংখ্যা কমাতে একটি উপায় খুঁজে পেতে চেয়েছিলাম। আপনার মন্তব্যের জন্য ধন্যবাদ.
এরিক নিকনোভিচ

আমার দ্বিতীয় পরামর্শটি লক্ষ্যযুক্ত ফাইলটি ইতিমধ্যে উপস্থিত রয়েছে কিনা তা যাচাই করে এবং যদি এটি হয় তবে একটি ত্রুটি বার্তা প্রিন্ট করে (পুনর্নির্দেশ করুন /dev/nullএবং এভাবে চাপা পড়ে)। এটি "অকেজো" কিছুই করে না: এটি একক সময় কাঁটাচামচ করে ও এক্সিকিউটিভ করে এবং প্রতিটি মিলে যাওয়া ফাইলটিতে symlink(2)বা তার symlinkat(2)জন্য একটি সিস্টেম কল করে । আপনি যদি ফাইলের ধরণ ( stat(2)) এবং তারপরে (শর্তসাপেক্ষে) কাঁটাচামচ ও নির্বাহের জন্য চেক করতে একটি লুপ ব্যবহার করেন ln(1)যা symlink*(2)আরও অনেক বেশি "বেহুদা" কাজকে আহ্বান করে।
ডেভিড ফোরস্টার

1

ব্লেন্ডারের সাথে একই জিনিস।

snap run blender

কাজ করে, তবে সমস্যাটি স্থির করেনি।

আমি কপি করতে হয়েছে blender.desktopথেকে /snap/blender/current/blender.desktopথেকে /usr/share/applications(সঙ্গে sudo) এবং তারপর সব সংশোধন করা হয়েছে করা হয়েছে: GNOME মেনুতে মিশ্রণকারী শো এবং নটিলাস সহযোগীদের এটা দিয়ে .blendফাইল।

আমার কাছে স্ন্যাপ এবং জিনোমের মধ্যে এক ধরণের ক্র্যাক মনে হচ্ছে। সম্ভবত আমাদের যা প্রয়োজন তা হ'ল একটি জঘন্য জিনোম (বা এটি কি জিনোমেজ স্ন্যাপ; ^)।


1
হাই, আপনি যা বলেছিলেন আমি তা করেছি কিন্তু আমি এখন প্রতিটি প্রোগ্রামের জন্য দুটি আইকন করেছি ... দেখুন i.imgur.com/aamlQJZ.png আপনারও কি এই ঘটনা ঘটেছে?
Cirelli94

1

অনুলিপি অ্যাপ্লিকেশন থেকে শর্টকাট /var/lib/snapd/desktop/applications/থেকে/usr/share/applications/

উদাহরণ: sudo cp /var/lib/snapd/desktop/applications/brave_brave.desktop /usr/share/applications/

আমাকে গ্যালিয়ামস ৩.০ (জুবুন্টু ভিত্তিক) এ এটি করতে হয়েছিল


0

আমি উবুন্টু 18.04 এ একই সংখ্যায় অংশ নিয়েছি। এটি ওয়েল্যান্ডের সমস্যা বলে মনে হচ্ছে। আমার সমাধানটি ছিল ওয়েল্যান্ড থেকে জর্গে ফিরে যাওয়া।

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