উবুন্টুতে closed জাভাআহোমকে সহজেই পরিবর্তনযোগ্য করে তুলুন [বন্ধ]


139

উবুন্টুতে, আমি আমার জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবলটি জাভা 5 এবং 6 এর মধ্যে পিছনে পিছনে স্যুইচ করতে চাই।

আমি একটি টার্মিনাল খুলি এবং জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবল সেট করতে নিম্নলিখিতটিতে টাইপ করি:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

এবং একই টার্মিনাল উইন্ডোতে, পরিবেশের ভেরিয়েবলটি আপডেট হয়েছে কিনা তা পরীক্ষা করতে আমি নিম্নলিখিতটি টাইপ করি:

echo $JAVA_HOME

এবং আমি / usr/lib/jvm/ java-1.5.0- সান দেখতে পাচ্ছি যা আমি প্রত্যাশা করছি। এছাড়াও, আমি ~ /। প্রোফাইলে সংশোধন করেছি এবং জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবলটিকে /usr/lib/jvm/java-1.5.0-sun এ সেট করেছি।

এবং এখন সমস্যার জন্য - যখন আমি একটি নতুন টার্মিনাল উইন্ডো খুলি এবং প্রতিধ্বনিতে টাইপ করে আমার জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবলটি যাচাই করি $ জাভাআহোমে আমি দেখি যে আমার জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবলটি আবার জাভা 6.-এ ফিরে এসেছে যখন আমি আমার মেশিনটি পুনরায় বুট করি (বা লগইন করি) আমি মনে করি) জাভাআহোম এনভায়রনমেন্ট ভেরিয়েবলটি জাভা 5 তে সেট করা আছে (সম্ভবত আমি আমার। /। প্রোফাইলে সংশোধন করেছি বলে)।

এর আশেপাশে কোনও উপায় আছে যাতে আমি লগ আউট না করে এবং পিছনে প্রবেশ না করেই আমার জাভাআহোম পরিবেশ পরিবর্তন করতে পারি (এবং সেই পরিবেশের পরিবর্তনশীল পরিবর্তন স্টিকটি তৈরি করবো) সমস্ত নতুন টার্মিনাল উইন্ডোতে )?


29
সঠিক সাইট এবং সদৃশ উত্তর কি?
মার্টিন কোনিসেক

~/.profileফাইল শুধুমাত্র পাঠযোগ্য যখন আপনি উবুন্টু লগইন, আপনি লগ-আউট / লগইন তারপর JAVA_HOME সব টার্মিনাল এবং অন্য কোন অ্যাপ্লিকেশন আপনি চালাতে জন্য সেট করা হয় তাই যদি। আপনি যদি এটিতে জাএএভিএহোম সেট করেন তবে ~/.bashrcএটি কেবলমাত্র টার্মিনাল থেকে চালিত অ্যাপ্লিকেশনগুলির দ্বারা দেখা যাবে।
jr0cket

উত্তর:


196

পরিবেশের ভেরিয়েবলগুলি বিশ্বব্যাপী /etc/environmentফাইলে রাখুন :

...
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
...

আপনি যে পরিবর্তনগুলি আপডেট করতে চান সেখানে প্রতিটি শেলটিতে "উত্স / ইত্যাদি / পরিবেশ" চালিত করুন:

$ source /etc/environment

এটি কাজ করে দেখুন:

$ echo $JAVA_HOME
$ /usr/lib/jvm/java-1.5.0-sun

দুর্দান্ত, কোনও লগআউট দরকার নেই।

আপনি যদি কেবল টার্মিনালে জাভা_হোম এনভায়রনমেন্ট ভেরিয়েবল সেট করতে চান তবে এটি ~ / .bashrc ফাইলে সেট করুন।


9
উবুন্টু ইউআইয়ের মাধ্যমে চালু হওয়া অ্যাপ্লিকেশনগুলিকে প্রভাবিত করতে এই পরিবর্তনগুলির জন্য এখনও পুনঃসূচনা প্রয়োজন (অর্থাত কোনও অ্যাপ্লিকেশনটিতে ডাবল ক্লিক করা)
এরিক হু

7
প্রতিটি ফ্রিজগিনের শেলটিতে কেবল ভেরিয়েবল সেট করার চেয়ে এটি কীভাবে আলাদা?
mlissner

1
প্রতিবার এটি নিজে হাতে না চালানোর আর একটি উপায় হ'ল "উত্স / ইত্যাদি / পরিবেশ" কমান্ডটি অন্তর্ভুক্ত করার জন্য আপনার .bashrc ফাইলটি সংশোধন করা
নিত্যান

1
@ মার্টিনকোনিসেক আপনার উদাহরণটি ভুল। এই লাইনে কোনও 'রফতানি' হওয়া উচিত না। / ইত্যাদি / এনভায়রনমেন্টে মূল মান
সংযোজন

1
মনে রাখবেন যে /etc/environmentবিশেষ এবং পরিবর্তনশীল প্রতিস্থাপনের অনুমতি দেয় না, যেমন JRE_HOME=${JAVA_HOME}/jreকাজ করবে না work
আবদুল

31

এটি সম্ভবত আপনার সমস্যার সমাধান করবে: https://help.ubuntu.com/commune/En વા্যোয়ার্ন ভেরিয়েবলস

সেশন-ব্যাপী পরিবেশের ভেরিয়েবল

কোনও নির্দিষ্ট ব্যবহারকারীর পরিবেশকে প্রভাবিত করে এমনভাবে পরিবেশের ভেরিয়েবলগুলি সেট করতে, ব্যবহারকারীর হোম ডিরেক্টরিতে নির্দিষ্ট শেল স্ক্রিপ্ট ফাইলগুলিতে তাদের মান সেট করার জন্য কমান্ড স্থাপন করা উচিত নয়, তবে ব্যবহার করুন:

। / .pam_en वातावरण - এই ফাইলটি নির্দিষ্ট করে ব্যবহারকারীর পরিবেশ নির্ধারণের জন্য। এটি কোনও স্ক্রিপ্ট ফাইল নয়, বরং লাইন প্রতি এক করে অ্যাসাইনমেন্ট এক্সপ্রেশন নিয়ে গঠিত।

প্রস্তাবিত নয়:

~ /। প্রোফাইল - এটি পরিবেশগত পরিবর্তনশীল অ্যাসাইনমেন্ট স্থাপনের জন্য সম্ভবত সেরা ফাইল, যেহেতু এটি প্রারম্ভিক প্রক্রিয়া ডেস্কটপ সেশনের সময় ডিসপ্লে ম্যানেজারের সাথে সাথে পাঠ্য কনসোল থেকে লগ-ইন করার সময় লগইন শেল দ্বারা স্বয়ংক্রিয়ভাবে কার্যকর হয়।


আপনার সরবরাহিত লিঙ্কটি থেকে: "নীচে প্রস্তাবিত নয় তবে এই পৃষ্ঠায় প্রদত্ত পূর্ববর্তী সমাধান (?) 10.04 ডেস্কটপ প্রকাশের সাথে কাজ করে নি। পাম_পরিবেশটি প্রাকৃতিকভাবে বিতরণে প্রসেস হয় না।"
Calmarius

14
login / .pam_en पर्यावरण আপনার লগইনটি ইটের একটি দুর্দান্ত উপায় হ'ল যদি আপনি ধরে নেন যে এটি ভেরিয়েবলগুলি প্রক্রিয়া করে। আমি PATH কে $ AT पथ}: $ OME হোম} / বিনে সেট করার চেষ্টা করেছি এবং এটি ভেরিয়েবলগুলি মূল্যায়ণ করতে ব্যর্থ হয়েছিল। নেট রেজাল্ট: লগ ইন করতে পারবেন না :( Ctrl-Alt-1 পরিদর্শন করে "/ bin / rm। / .Pam_en वातावरण" চালিয়ে স্থির। ব্যতিক্রমী সতর্কতা অবলম্বন করুন বা সেটিংস পরীক্ষা করতে এখানে একটি মাধ্যমিক অ্যাকাউন্ট ব্যবহার করুন
তথ্যের O'Dea

6
ব্যক্তিগতভাবে আমি জানি না যে তারা পরিবেশ ফাইলটি তৈরি করতে কেন বিরক্ত করেছিল এবং এরপরে পরিবেশের ভেরিয়েবলগুলি সেট করার জন্য এটি অন্য কোনও পদ্ধতির চেয়ে একেবারেই অন্যভাবে কাজ করেছিল। এনভায়রনমেন্ট ফাইল ব্যবহারের মতো সাধারণ কী মানের জোড়গুলি হল সরল BS BS আমরা পরিবেশে ভেরিয়েবল এবং লিঙ্কগুলি ব্যবহার করার একটি কারণ রয়েছে এবং এটি আজও যোগ্যতা অর্জন করে। এটি প্রশাসনকে সরল করে তোলে। বোজোজরা যারা এই ফাইলে জিনিসগুলি করার PAM পদ্ধতিটি স্থির করেছিল সে সেরা b ভেরিয়েবলগুলি ব্যাখ্যা করার প্রয়োজন।
বিল রোসমাস

1
@ আলাইনো'ডিয়া: আমার ঠিক একই সমস্যা ছিল। চমকে ও চিন্তিত যখন আমি লগইন স্ক্রিনটি অতীতে পাই না। কিছুটা খননের পরে আমি দেখতে পেলাম যে আপনি ভেরিয়েবল ব্যবহার করতে পারেন তবে আলাদা সিনট্যাক্স ব্যবহার করতে হবে। যেমন। পাঠ ডিফল্ট = {AT পাঠ}: $ OME হোম} / বিন এটি যখন ভেরিয়েবল ব্যবহার না করে, একটি সাধারণ অ্যাসাইনমেন্ট কাজ করে বলে মনে হয়।
টিম_উনিল

হ্যাঁ, আমি @ আলাইন ও'ডিয়ার সাথে একমত আপনার স্ক্রিপ্টে যদি কোনও ত্রুটি থাকে তবে আপনি লগইন করতে পারবেন না। যত্ন নিবেন.
ইভান হু

13

এই পদক্ষেপ চেষ্টা করুন।

- আমরা "ইত্যাদি \ প্রোফাইল" সম্পাদনা করতে যাচ্ছি। পরিবেশের ভেরিয়েবলগুলি ফাইলের নীচে ইনপুট হতে হয়। যেহেতু উবুন্টু রুট ফোল্ডারে অ্যাক্সেস দেয় না, তাই আমাদের টার্মিনালে কয়েকটি কমান্ড ব্যবহার করতে হবে

পদক্ষেপ 1: টার্মিনাল শুরু করুন। কমান্ড টাইপ করুন:gksudo gedit /etc/profile

পদক্ষেপ 2: প্রোফাইল পাঠ্য ফাইলটি ওপেন হবে। পৃষ্ঠার নীচে পরিবেশের ভেরিয়েবলগুলি প্রবেশ করান ........... যেমন: export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java

export PATH=/home/alex/jdk1.6.0_22/bin:$PATH

স্টিপি 3: ফাইলটি সংরক্ষণ এবং বন্ধ করুন। ইকো কমান্ড ব্যবহার করে পরিবেশের ভেরিয়েবলগুলি সেট করা আছে কিনা তা পরীক্ষা করুন ........ উদাহরণস্বরূপ echo $PATH


9

আপনার পরিবর্তনশীল সংজ্ঞা রাখতে হবে ~/.bashrc ফাইলের হবে।

বাশ ম্যান পৃষ্ঠা থেকে:

লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি শুরু করা হলে, বাশ /etc/bash.bashrc এবং ~ / .bashrc থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি এই ফাইলগুলি উপস্থিত থাকে।


5

Ditionতিহ্যগতভাবে, আপনি যদি কেবল আপনার টার্মিনাল উইন্ডোতে পরিবর্তনশীল পরিবর্তন করতে চান তবে এটি .bashrcফাইলটিতে সেট করুন, যা প্রতিটি বার নতুন টার্মিনালটি খোলার পরে উত্সাহিত হয়।.profileপ্রতিবার নতুন টার্মিনাল খুললে ফাইলটি উত্সাহিত হয় না।

প্রশ্নে। প্রোফাইল এবং .Bashrc এর মধ্যে পার্থক্যটি দেখুন : .bashrc, .Bash_profile, এবং পরিবেশের মধ্যে পার্থক্য কী?

.bashrcআপনার সমস্যা সমাধান করা উচিত। তবে আপনি যেহেতু উবুন্টু ব্যবহার করছেন তাই এটি সঠিক সমাধান নয়। প্রাসঙ্গিক উবুন্টু সহায়তা পৃষ্ঠা " সেশন-ওয়াইড এনভায়রনমেন্ট ভেরিয়েবল " দেখুন। সুতরাং, কোনও আশ্চর্যের বিষয় যা আপনার পক্ষে কার্যকর .profileহয় না। আমি উবুন্টু 12.04 এবং xfce ব্যবহার করি। আমি আমার সেট আপ করেছি .profileএবং এটি লগ আউট এবং ইন করেও কেবল কার্যকর হচ্ছে না। অনুরূপ অভিজ্ঞতা এখানে । আপনি ব্যবহার করতে হতে পারে তাই .pam_environmentফাইল এবং সম্পূর্ণভাবে ভুলে .profile, এবং .bashrc। এবং দ্রষ্টব্য এটি .pam_environmentকোনও স্ক্রিপ্ট ফাইল নয়।



1

আমি জানি এটি একটি দীর্ঘ ঠান্ডা প্রশ্ন, তবে এটি প্রতিবারই আসে নতুন বা সাম্প্রতিক কোনও বড় জাভা প্রকাশের সময়। এখন এটি সহজেই 6 এবং 7 অদলবদলে প্রযোজ্য হবে।

আমি অতীতে এই কাজটি করেছি update-java-alternatives: http://manpages.ubuntu.com/manpages/hardy/man8/update-java-al متبادل.8.8.html


1

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

root@masternode# . ~/.profile

এটি হয়ে গেলে ইকো কমান্ড কাজ করবে।


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