জিএআইআই অ্যাপ্লিকেশনগুলির জন্য দৃশ্যমান হবে কীভাবে প্যাথ পরিবেশের পরিবর্তনশীল ওএস এক্স 10.8 মাউন্টেন সিংকে পরিবর্তন করবেন? [প্রতিলিপি]


14

ওএস এক্স 10.8 এ পরিবেশের ভেরিয়েবল সেট করার জন্য আমি শুনেছি এমন সমস্ত পদ্ধতির চেষ্টা করেছি তবে সেগুলির কোনওটিই কাজ করছে বলে মনে হয় না।

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

#!/bin/bash
set|grep PATH

আমি পরীক্ষিত জিনিসগুলি এবং এটি পুনরায় বুট করার পরেও কাজ করছে না :

  • /etc/paths এবং /etc/paths.d/something
  • /etc/launchd.conf
  • ~/.bash_profile
  • ~/.MacOSX/environment.plist (প্রস্তাবিত হিসাবে বাইনারি plist তৈরি)
  • launchctl setenv PATH $PATHকমান্ড লাইন থেকে চলমান , জিওআই অ্যাপ্লিকেশনগুলির জন্য PATH আপডেট করার কথা ছিল, কমপক্ষে বর্তমান অধিবেশনের জন্য। অনুমান করুন কি, কোন পরিবর্তন নেই।

দেখে মনে হচ্ছে PATH সর্বদা PATH=/usr/bin:/bin:/usr/sbin:/sbinGUI অ্যাপ্লিকেশনগুলির জন্য।


আপনি কি এমন কোনও সমাধান দিয়ে ঠিক আছেন যা ব্যাশ পাথটি নির্ধারণ করে বা আপনার সমস্ত প্রক্রিয়াটির জন্য বেস পাথের লঞ্চের মান পরিবর্তন করতে হবে?
bmike

টার্মিনাল / বাশ / ... জন্য আমার জিইউআই অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহৃত প্যাথটি পরিবর্তন করা দরকার, আমার কাছে ইতিমধ্যে কার্যক্ষম সমাধানের একটি বড় সেট রয়েছে।
sorin

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

উত্তর:


8

মাউন্টেন সিংহের সাথে /etc/launchd.confআপনার জিইউআই অ্যাপ্লিকেশনগুলির পথ নির্ধারণ করা উচিত। মনে রাখবেন এটি কোনও স্ক্রিপ্ট ফাইল নয়; এটি কেবল launchctlআদেশগুলি সমর্থন করে যাতে আপনার মতো কিছু লেখা উচিত:

setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin

এছাড়াও খেয়াল করুন যে এটি শেল পরিবেশের পরিবর্তনশীল বিকল্পগুলি (যেমন $PATH) সমর্থন করে না তাই আপনাকে অন্তর্ভুক্ত করতে চাইলে প্রতিটি পথ সেট করতে হবে। আপনি যে মূল রাস্তাগুলির উল্লেখ করেছেন সেগুলি রাখাই ভাল ধারণা ( /usr/bin:/bin:/usr/sbin:/sbin)।

পরিবর্তনগুলি কার্যকর হওয়ার জন্য ফাইলটি পরিবর্তন (বা তৈরি) করার পরে আপনাকে পুনরায় বুট করতে হবে।


এটি আমার জন্য 10.8.2 এ একটি প্যাথ সেট করার জন্য কাজ করেছিল যা কীবোর্ড মেস্ট্রোর সাথে ব্যবহারযোগ্য।
টিজে লুওমা

ম্যান পেজটি বলছে যে আপনি $ HOME / .launchd.conf ব্যবহার করতে পারেন তবে এটি আমার পক্ষে কার্যকর হয়নি। /Etc/launchd.conf ব্যবহার করে। আমি 10.8.4
পেডজ

এটি আমার পক্ষে কাজ করে না:-bash: setenv: command not found
কোলাস

যদি কেউ কলসের মতো বিভ্রান্ত হয় তবে setenvএটি একটি launchctlআদেশ, তাই আপনি এটির মতো ব্যবহার করুন launchctl setenv
জন শিয়ের

3

আপনি যদি টার্মিনাল থেকে জিইউআই অ্যাপ্লিকেশন কল করেন তবে এটি কাজ করে:

PATH=/this/is/kind/of/crazy:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /Applications/Automator.app/Contents/MacOS/Automator 

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

সত্যই সুন্দর বা আরামদায়ক নয় তবে প্রয়োজনে এটি কাজ করে।


খুব শীঘ্রই কোন উপায় নেই। আমি এটি করতে রাজি নই, এটি কেবল কখনও কখনও কাজ করবে। আপনি যখন কোনও ফাইলে ক্লিক করেন তখন অ্যাপটিও শুরু করা যেতে পারে।
sorin

2
যেমন আমি বলেছি এটি সত্যই সুন্দর নয় তবে অ্যাপল সমস্যা সমাধান না করা অবধি কাজ করতে পারে (কারণ এটি লঞ্চেক্টল দিয়ে সম্ভব হওয়া উচিত )।
nohillside

2

আমি এখানে প্যাটেক্সের দ্বারা অনুপ্রাণিত হয়ে আরও একটি সমাধান রান্না করেছি , আশা করি কিছুটা কম ব্যথা হচ্ছে। খুলুন Automator, লক্ষ্য হিসাবে একটি অ্যাপ্লিকেশন নির্বাচন করুন, এবং Execute Shell script(বা এটি যাকে যা বলা হোক না কেন, এটি উপরে দেখা যায় "শেল-স্ক্রিপ্ট অ্যাসফ্রেইন") পদক্ষেপ হিসাবে বেছে নিন। স্ক্রিপ্টে, শুধু টাইপ করুন

launchctl setenv FOO1 bar1
[...]
launchctl setenv FOOn barn
open -a YourApplicationHere

তারপর পুরো জিনিস সংরক্ষণ যেখানেই থাকুন না কেন আপনি চান, এবং যদি আপনি চালানোর প্রয়োজন YourApplicationHere সৃষ্টি "Automator আবেদন" এর পরিবর্তে খুলুন।

আমি সঙ্গে এই পরীক্ষিত Terminalযেমন YourApplicationHere , এবং করাত launchctl exportযে যদি foo প্রকৃতপক্ষে সেট ছিল বার । আমি আশা করি এটি অন্যদের জন্যও কার্যকর হবে।

অবশেষে, আপনি যদি শেল স্ক্রিপ্টে স্টাফটি টাইপ না করে আপনার পরিবেশ পরিবর্তনশীলগুলির জন্য এই সমাধানটি ব্যবহার করেন তবে আপনি launchctlকেবল কল /Users/Shared/conflaunchd.shকরতে পারেন (যা আপনাকে প্রথমে তৈরি করতে হবে, ভেরিয়েবলগুলি বর্ণনা করে এমন ফাইলের সাথে)।


-1

যদিও, launchctlপ্রদান করে PATHগুই Apps- এ। শেল পাথের পাথটি নির্ধারণ করতে, আপনার পথ নির্ধারণের পরে শেল আরসি ফাইলে নিম্নলিখিতটি যুক্ত করুন:

launchctl setenv PATH $PATH

1
দুর্ভাগ্যক্রমে এটি কার্যকর হয় না :-(
নোহিলসাইড


আমরা এমন উত্তরগুলিকে অনুমতি দিই যা প্রশ্নকে সম্বোধন করার জন্য একটি ভাল বিশ্বাসের প্রচেষ্টা করে। আমরা এমনকি ভুল উত্তরের অনুমতি দিই এবং ভোটদানকে নির্ভুলতার জন্য কথা বলি। এটিকে ব্যক্তিগত না করেই মন্তব্য করা উত্তরের প্রয়াসকে নিরুৎসাহিত করার পরিবর্তে ত্রুটিযুক্ত যুক্তিতে গর্তের সেরা উপায়।
bmike
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.