Unityক্য অ্যাপ্লিকেশন লঞ্চারের জন্য পরিবেশের পরিবর্তনশীল সেট করুন


8

আমি .desktopআমাদের অ্যাপ্লিকেশন চালু করার জন্য একটি ফাইল তৈরি করেছি । আমাদের অ্যাপ্লিকেশনটির প্রয়োজন, একটি নির্দিষ্ট পরিবেশের পরিবর্তনশীল সঠিকভাবে কনফিগার করা হয়েছে। আমি প্রতি ব্যবহারকারী বেসে এই পরিবেশের পরিবর্তনশীলটি কোথায় কনফিগার করতে পারি (আমি জানি সাধারণ প্রার্থীরা পছন্দ করেন ~/.bashrcএবং ~/.profileকাজ করেন না)।

হয়তো কোনও কাজের আশেপাশে রয়েছে, তাই আমি অ্যাপ্লিকেশনটি চালু করার আগে ফাইলের Exec=লাইনে এটি কনফিগার করতে পারি .desktop?

উত্তর:


15

ডেস্কটপ ফাইলে নিজেই, আপনি প্রোগ্রামটি সম্পাদন করতে পারেন env:

Exec=/usr/bin/env VAR=value /usr/bin/yourprogram

বিকল্পভাবে, একটি মোড়ক স্ক্রিপ্ট ব্যবহার করুন (উদাঃ /usr/bin/yourprogram.env):

#!/bin/sh
VAR=value
export VAR
exec /usr/bin/yourprogram.real "$@"

যাইহোক, উভয়ই দুর্বল সমাধান, যেহেতু ক্য প্রোগ্রামটি যদি একটি মোড়কের মাধ্যমে শুরু করা হয় তবে সঠিকভাবে এটি ট্র্যাক করতে সক্ষম হবে না।

~/.profileকাজ করা আরও ভাল হবে - আপনি সঠিক বাক্য গঠন এবং এটি ব্যবহার করছেন তা নিশ্চিত করুন:

export VAR=value

অথবা

VAR=value
export VAR

এছাড়াও মনে রাখবেন যে আপনি যখন লগ ইন করেন~/.profile কেবল তখনই পঠিত হয় , সুতরাং এটি পরিবর্তন করার পরে আপনাকে অবশ্যই লগ আউট করতে হবে।


ধন্যবাদ। দুর্ভাগ্যক্রমে, আপনার ব্যবহারের পরামর্শ কার্যকর env VAR=value /my/appহয় না; প্রবর্তন VARকরার valueসময় পরিবেশের পরিবর্তনশীল সেট করা থাকে না /my/app(আমি desktopফাইলটি সম্পাদনা করে চেষ্টা করেছি ~/.gnome/apps)। একটি র‌্যাপার স্ক্রিপ্ট তৈরি করা আমার পক্ষে কোনও বিকল্প নয়, কারণ এটি শেষ হওয়া ব্যবহারকারীদের কাছে বিতরণ করা আমাদের অ্যাপ্লিকেশনটির জন্য কাজ করা উচিত এবং আমি জানি না যে শেষ-ব্যবহারকারী কোথায় মোড়ক স্ক্রিপ্টটি দেখতে চান (প্রবর্তক তৈরি করতে প্রশাসকের অধিকারের প্রয়োজন হবে না) )।
মাইক এল।

(হু? আমি জানি না যে ~/.gnome/appsএখনও ব্যবহারের মধ্যে রয়েছে; এটি ~/.local/share/applicationsগত কয়েক বছর ধরে ডাকা হয়েছিল?) মাইক, এটি যদি আপনার নিজস্ব প্রয়োগ হয় তবে সঠিক পরিবেশের পরিবর্তনশীলটি স্বয়ংক্রিয়ভাবে নির্ধারণ করার জন্য কেন এটি স্থির করা যাবে না? (এছাড়াও, আমি জিজ্ঞাসা করতে পারি যে আপনি কোন পরিবর্তনশীল বিশেষভাবে সেট করছেন?)
ব্যবহারকারী ১1686

আমি আমাদের অ্যাপ্লিকেশনটির জন্য জাভা রানটাইম পরিবেশের অবস্থান নির্ধারণ করে একটি ভেরিয়েবল সেট করার চেষ্টা করছি।
মাইক এল।

1
সম্ভবত স্ট্যান্ডার্ড কিছু অবস্থানের মান
ffreedesktop.org/basedir-spec/basedir-spec-latest.html

আমি .desktopব্যবহার করে ফাইলটি ইনস্টল করেছি xdg-desktop-menu install <my-desktop-file>। দেখে মনে হচ্ছে এটি এটি দুটি স্থানে অনুলিপি করেছে এবং আমি সর্বদা ভুলটির সম্পাদনা করছিলাম ...
মাইক এল।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.