ওয়েইল্যান্ডে জিনোমের জন্য ভার্চুয়াল টার্মিনালগুলিতে (বা এসএসএস) পরিবেশের পরিবর্তনশীলগুলি সেট করুন


13

জিনোম ৩.২২ ডিফল্টরূপে ওয়েল্যান্ডল্যান্ড ব্যবহার করে। জিনোম অন ওয়েইল্যান্ড ~/.profile( ~/.bash_profileবা /etc/profile) পড়েন না । Https://bugzilla.gnome.org/show_bug.cgi?id=736660 দেখুন ।

আমার সূচনা ফাইলগুলি নিম্নলিখিত হিসাবে সেট আপ হয়েছে:

  • .bash_profileকিন্তু কিছুই উৎস নেই .profileএবং.bashrc
  • .profileশুধুমাত্র পরিবেশের ভেরিয়েবলগুলি PATHএবং এর মতো সেট করেLC_MESSAGES
  • .bashrcমত অ্যাপ্লিকেশনের জন্য কিছু ব্যাশ নির্দিষ্ট সেটিংস এবং alias লেখা ও বিভিন্ন পরিবেশের সেট করে lessএবং grep

প্রভাব (ওয়েল্যান্ডের আগে) নিম্নলিখিত ছিল:

  • আমি যখন লগইন করতাম গ্রাফিকভাবে .profileপড়া ছিল এবং পরিবেশের ভেরিয়েবলগুলির মতো PATHএবং LC_MESSAGESসেট করা হয়েছিল। যখন আমি টার্মিনাল এমুলেটরের অভ্যন্তরে বাশ খুলি তখন .bashrcপড়া হয়েছিল।
  • যখন আমি একটি ভার্চুয়াল টার্মিনাল অধীনে প্রবেশ করুন তারপর .bash_profileপাঠ করা হয় যা আবার সার্চ .profileএবং .bashrc
  • আমি যখন ssh ব্যবহার করে লগইন করি তখন আচরণটি ভার্চুয়াল টার্মিনালের অনুরূপ।

সব ক্ষেত্রে .profileএবং .bashrcপড়া হয়েছিল এবং আমার পরিবেশ স্থাপন করা হয়েছিল।

তাই এখন 3,22 ব্যবহারসমূহ জিনোম Wayland এবং Wayland পড়া নেই .profile। আমি আমার সূচনা ফাইলগুলি কীভাবে সেট আপ করতে পারি যাতে উপরে বর্ণিত হিসাবে আমার আবার প্রভাব থাকে?

দ্রষ্টব্য যে আমি নির্দিষ্ট ফাইল (যেমন .profile) পড়ার জন্য জোর দিই না । আমি যা চাই তা হ'ল আমার পরিবেশটি বুদ্ধিমান উপায়ে স্থাপন করা। এর অর্থ আমি ব্যাশ সূচনা ফাইলগুলিতে বাশ সুনির্দিষ্ট সেটিংস এবং অন্যান্য সেটিংগুলিকে অন্যান্য সূচনা ফাইলগুলিতে রাখতে চাই। এছাড়াও আমি বিভিন্ন ফাইলের মধ্যে সেটিংস অনুলিপি করতে চাই না।

আমি আর্চ লিনাক্স ব্যবহার করি। সমস্ত বিতরণের জন্য উত্তর স্বাগত। কোনও কাজের প্রস্তাব দেওয়ার সময় দয়া করে পার্শ্ব প্রতিক্রিয়া এবং সুবিধাগুলি এবং অসুবিধাগুলিও বর্ণনা করুন।


আপডেট নভেম্বর ২০১:: যতক্ষণ আমি বুঝতে পেরেছি জিনোম বিকাশকারীরা স্বীকার করেছেন যে লোকেরা লগইন করার পরে তাদের লগইন শেল কনফিগারেশন ফাইলগুলি ( .profileএবং .bash_profileব্যাশের ক্ষেত্রে) উত্সাহিত করবে। পাঠ্য বা গ্রাফিকাল লগইন নির্বিশেষে। সুতরাং উপরে উল্লিখিত আমার ব্যবহারের কেসটি আবার কাজ করে।

এখনও জিনোম বিকাশকারীগণ লগইন শেল শুরু করা থেকে সরে যেতে চায় want দেখে মনে হচ্ছে যে তারা যে দিকে চলেছে তা হ'ল সিস্টেমড থেকে পরিবেশিত পরিবেশ ব্যবহার করা:

https://in.waw.pl/~zbyszek/blog/environmentd.html

দেখে মনে হচ্ছে যে সমস্ত লগইন পদ্ধতিগুলি পরিবেশের সাথে খাপ খাইয়ে নিতে কিছুক্ষণ সময় লাগবে।

উত্তর:


7

সিস্টেমড সংস্করণ 233 (মার্চ 2017) এ পরিবেশের ভেরিয়েবল সেট করার জন্য সমর্থন যুক্ত করেছে ~/.config/environment.d/*.conf। দেখুন man পৃষ্ঠা এবং আলোচনা যে বৈশিষ্ট্য নেতৃত্বে এই প্রাথমিক জনসংযোগ এবং এই চূড়ান্ত একenvironment.d


এটি একটি খুব ভাল সমাধান বলে মনে হচ্ছে। আমি একটি দ্রুত পরীক্ষা করেছি। এটি জিনোম ওয়েল্যান্ডল্যান্ডে কাজ করে তবে ভার্চুয়াল টার্মিনালে কাজ করে না। আমি ধরে নিলাম এটি ssh এর জন্যও কাজ করবে না। আমি ম্যান পৃষ্ঠাটি পড়েছি তবে কেবল আলোচনার ঝাঁকুনি পড়েছি। এটি ভার্চুয়াল টার্মিনাল এবং ssh এও কাজ করবে কিনা আপনার কোনও ধারণা আছে?
লেসমানা

1
পরিস্থিতিটির একটি চমৎকার সংক্ষিপ্তসার এখানে: in.waw.pl/~zbyszek/blog/en वातावरणd.html । শেষ অনুচ্ছেদে বলা হয়েছে যে ভার্চুয়াল টার্মিনালটির জন্য সমর্থন (এবং ssh?) "সম্ভবত" আসতে পারে। কমপক্ষে যদি আমি এটি সঠিকভাবে বুঝতে পারি।
লেসমানা

ওহ আকর্ষণীয়, আমি বুঝতে পারি নি যে এটি কার্যকর করতে জিডিএমকে এটির জন্য বিশেষ সমর্থন যুক্ত করতে হয়েছিল। এমন কোনও ব্যবস্থা থাকতে পারত যেখানে সমস্ত ধরণের সেশনগুলি একক ব্যবহারকারী পরিষেবা প্রক্রিয়ার শিশু, যা ইতিমধ্যে এই এনভ ভার্সগুলি পার্স করেছে এবং এটি জিডিএম / এসএসডি ছাড়া কিছু কাজ করে সে সম্পর্কে কিছু জানার প্রয়োজন নেই?
জ্যাক ও'কনোর

1
জিডিএম / ওয়েল্যান্ডের সাথে ফেডোরা 30 এ এটি আমার পক্ষে কাজ করে না।
জোনলিটন

'সমাধান' যুক্তিসঙ্গত ব্যবহারের ক্ষেত্রে মিস করে: যদি এ, তবে বি সেট করুন, উদাহরণ হিসাবে, যদি এক্সডিজিএসএসটিশন_ওয়াইপি = ওয়েল্যান্ড হয় তবে QT_QPA_PLATFORM = ওয়েল্যান্ডল্যান্ড সেট করুন।
vk5tu

5

ঠিক একই সমস্যার জন্য আমি এটি ব্যবহার করি:

ধাপ 1

এমন একটি স্ক্রিপ্ট তৈরি করুন যা উত্স তৈরি করে ~/.profileএবং সেই স্ক্রিপ্টটি কার্যকরযোগ্য করে তোলে। এটি কল করুন /path/to/startup.sh। এটি এর মতো দেখতে পারে:

#!/bin/bash
. ~/.profile

ধাপ ২

স্ক্রিপ্টটি চালানোর জন্য একটি ডেস্কটপ অ্যাপ্লিকেশন তৈরি করুন। এটি করার জন্য আপনাকে একটি .desktopফাইল তৈরি করে এটিকে স্থাপন করতে হবে ~/.local/share/applications(বা /usr/share/applicationsআপনি যদি এটি ব্যবহারকারীর জন্য কাজ করতে চান)। এটি কল করুন ~/.local/share/applications/startup.desktop। এটি এর মতো দেখতে পারে:

[Desktop Entry]
Name=Startup
Keywords=startup
Exec=/path/to/startup.sh
Type=Application

.desktopফাইলগুলি সম্পর্কে আরও তথ্যের জন্য এখানে দেখুন

ধাপ 3

প্রস্থান. আবার লগ ইন করুন You আপনি এখন অ্যাপ্লিকেশন মেনুতে আপনার অ্যাপ্লিকেশন অনুসন্ধান করতে সক্ষম হবেন।

পদক্ষেপ 4

এই অ্যাপ্লিকেশনটিকে একটি স্টার্টআপ অ্যাপ্লিকেশন হিসাবে সেট করুন। এটি করার জন্য আমি জিনোম টুইক টুলটি ব্যবহার করেছি এবং আমার অ্যাপ্লিকেশনটি স্টার্টআপ অ্যাপ্লিকেশন ট্যাবের তালিকায় যুক্ত করেছি।

এবং এটাই! আপনি যখনই লগ ইন করবেন তখন আপনার পুরানো কার্যকারিতাটি ফিরে পাওয়া উচিত It এটি ফাইলের কাঠামোটি অক্ষত রাখে, সুতরাং, ওয়েল্যান্ডের বাগটি ঠিক হয়ে গেলে, প্রারম্ভিক অ্যাপ্লিকেশন তালিকা থেকে অ্যাপ্লিকেশনটি সরিয়ে ফেলতে হবে, দুটি ফাইল মুছুন এবং সবকিছু স্বাভাবিক অবস্থায় ফিরে এসেছে।

পরে সম্পাদনা করুন

@ গুস মন্তব্যে উল্লেখ করেছেন যে, এই শৃঙ্খলা পরিবেশের পরিবর্তনগুলি রফতানি করবে না কারণ startup.shএটি নিজস্ব শেলটিতে চালিত হয়েছে। সুতরাং আমরা তাদের জন্য অন্য workaround প্রয়োজন।

জিনোম ডকুমেন্টেশন থেকে পড়া আপনি দেখতে পারেন যে কয়েকটি বিকল্প রয়েছে। আমি যে কাজটি করতে পেরেছি তা হ'ল একটি ফাইল তৈরি করা /usr/share/gdm/env.d/এবং সেই ফাইলটিতে ভেরিয়েবলগুলি রফতানির জন্য স্থাপন করা। তবে এর অর্থ হ'ল ভেরিয়েবলগুলি সমস্ত ব্যবহারকারীর জন্য রফতানি করা হবে তাই আমি যা করতে পেরেছি তা হ'ল:

ধরা যাক আমাদের দুটি জন , জন এবং স্যালি রয়েছে । তাদের প্রত্যেকের জন্য একটি ফাইল তৈরি করুন /usr/share/gdm/env.d/, আসুন তাদের কল করুন startup_john.envএবং startup_sally.env। এই ফাইলগুলিতে একটি নতুন জিনোম সেশন শুরু করার সময় পরিবেশের পরিবর্তনগুলি রফতানি করার জন্য রাখে।

$ cat startup_john.env
VAR=1
$ cat startup_sally.env
VAR=2

এই মুহুর্তে সমস্যাটি হ'ল উভয় ফাইলই উভয় ব্যবহারকারীর জন্য লোড করা হবে। এটি সমাধানের জন্য আমরা প্রতিটি ফাইলের জন্য অনুমতি সেট করেছিলাম যাতে কেবল তার মালিকরা এর সামগ্রীগুলি পড়তে পারেন।

$ ls -l startup_john.env
-rw-r-----. 1 john john 4 Dec 27 15:17 startup_john.env
$ ls -l startup_sally.env
-rw-r-----. 1 sally sally 4 Dec 27 15:16 startup_sally.env

সর্বাধিক মার্জিত সমাধান নয়, আমি সম্মত, তবে যতদূর আমি পরীক্ষা করে দেখেছি মনে হয় কাজটি সম্পন্ন হবে।


আমি এটি পরীক্ষা করেছি না, তবে এটি কাজ করা উচিত নয় কারণ এটি startup.shনিজস্ব শেলটিতে চলছে এবং প্যারেন্ট এক্সিকিউশন প্রসঙ্গে পরিবেশের পরিবর্তনগুলি রফতানি করবে না। উদাহরণস্বরূপ, আপনার শেল এই কোড চলমান চেষ্টা করুন: echo "a is $a"; (export a="B"); echo "a is $a" । @ টিউডারের মতে, দ্বিতীয় প্রতিধ্বনি থেকে আউটপুট হবে a is Bযা - আপনি কোডটি চালানোর সময় দেখবেন - যা ঘটে তা হয় না।
গাস

হাই @ গুস, আপনি সঠিক বলেছেন। আমি এটি লক্ষ্য করিনি তবে, এখন আপনি এটি চিহ্নিত করেছেন, আমি পাশাপাশি পরিবেশের ভেরিয়েবলগুলির জন্য একটি কাজের সন্ধান পেয়েছি। আমি সেই অনুযায়ী আমার উত্তর আপডেট করব।
Tudor Vișan

1
দয়া করে করুন, আপনি কী নিয়ে এসেছেন তা দেখতে আমি পছন্দ করব। এছাড়াও, আমি মনে করি আপনি "ওয়েল্যান্ডের বাগটি ঠিক হয়ে গেলে" বললে আপনি অবশ্যই আশাবাদী - এটি কোনও ওয়েল্যান্ডে নয় তবে জিনোমে, এবং জিনোম লোকেরা এটিকে ত্রুটি হিসাবে বিবেচনা করে না - এটি একটি নথিভুক্ত আচরণ: উইকি .gnome.org / উদ্যোগ / ওয়েল্যান্ড / সেশনস্টার্ট
গাস

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