কিভাবে আরউসি শেল পেতে উবুন্টুতে শুরু করতে .rcrc পড়তে হয়?


2

আমি ব্যবহার করার চেষ্টা করছি RC উবুন্টুতে আমার লগইন শেল হিসাবে (সিএসএস ব্যবহার করে)। আমি লক্ষ্য করেছি যে এটি প্রারম্ভে $ HOME / .rcrc ফাইলটি পড়বে না। ডকুমেন্টেশন বলছে যে * argv [0] == '-' অথবা -l flag দিয়ে লগইন শেল হিসাবে আহ্বান করা হলে, এটি। আরসিআরসি ফাইলটি পড়ে এবং আমি সরাসরি এটি কার্যকর করে যাচাই করতে পারি $ rc -l। অথবা zsh থেকে ARGV0=-rc /usr/bin/rc

যাইহোক, যখন লগইন করা হয়, এটি .rcrc ফাইলটি পড়ে না এবং ps আউটপুট নির্দেশ করে যে শেল নামটি কেবল "আরসি" নয় "-আরসি"। সুতরাং আমার প্রশ্ন হল, কিভাবে / usr / bin / rc শুরু করতে .rcrc শুরু করতে হবে? এবং কেন উবুন্টু শেলের জন্য পূর্বনির্ধারিত নয়? শেল সনাক্ত করার জন্য একটি ভিন্ন উপায় একটি লগইন শেল হয়?

উত্তর:


2

GUI এ লিনাক্স টার্মিনাল এমুলেটরগুলি সাধারণত ডিফল্টভাবে লগইন শেলগুলি খুলবে না যেমন ওএস এক্স এর টার্মিনাল।

আপনি যদি প্রেস জন্য ctrl অল্টার এফ 1 এবং কমান্ড লাইনে লগ ইন করুন, আপনার একটি লগইন শেল থাকবে যার .rcrc কমান্ড নির্বাহ করা হবে।


উবুন্টু টার্মিনালে, যান সম্পাদনা »প্রোফাইল পছন্দ» শিরোনাম এবং কমান্ড »লগইন শেল হিসাবে চালান কমান্ড

অন্যথায়, আপনার টার্মিনাল এমুলেটর একটি নির্বিচারে কমান্ডের নির্বাহ সমর্থন করতে পারে। ব্যবহার /usr/bin/rc -l


আপনি কেবল একটি লঞ্চ তৈরি করতে পারেন যা একটি ছোট স্ক্রিপ্ট তৈরি করতে পারেন rc লগইন শেল হিসাবে:

#!/bin/bash
exec -l /usr/bin/rc "$@"

এই শুরু হবে bash স্ক্রিপ্টটি চালানোর জন্য, এবং স্ক্রিপ্টটি সম্পূর্ণরূপে প্রতিস্থাপন করে rc একটি লগইন শেল হিসাবে আহ্বান ( -l যুক্তি), প্লাস এই স্ক্রিপ্ট অন্যান্য অন্যান্য আর্গুমেন্ট। আপনি যোগ করতে পারে -c পরিবেশ sanitize যুক্তি।

সংরক্ষণ করুন /usr/bin/rcl, এক্সিকিউটেবল করা, এবং একটি অনুরূপ এন্ট্রি যোগ করুন /etc/shells


ধন্যবাদ, তাই ব্যবহারকারীর প্রারম্ভিক ফাইল (যেমন .rcrc) পড়ার জন্য আরসি শেলের কোন সমাধান আছে? আমি যদি RC তে প্রম্পট সেট করতে চান তবে কী করব?
rahul

আপনি শেষ অনুচ্ছেদ পড়েন, আমি। প্রকৃত উত্তর? যে এবং এটি rcrc লোড করব।
Daniel Beck

হ্যাঁ, দুর্ভাগ্যবশত এটি আমাকে সাহায্য করে না কারণ: - আমি গনোম-টার্মিনাল ব্যবহার করি না (আমার প্রশ্ন জেনেরিক শেল সম্পর্কে ছিল এবং একটি নির্দিষ্ট এমুলেটর নয়)। আমি একটি / etc / passwd ভিত্তিক সমাধান আশা ছিল। আমি একটি wrapper স্ক্রিপ্ট ব্যবহার করে আমার সমস্যা প্রায় কাজ করতে সক্ষম হয়েছিল। কিন্তু আপনার উত্তর জন্য আপনাকে ধন্যবাদ। এটি নিশ্চিত করেছে যে আমি কী সন্দেহ করেছি (সৌরজির মতো অন্যান্য ইউনিক্সগুলিতে, একই জিনিস কাজ করে)।
rahul

@blufox সর্বাধিক টার্মিনালগুলি ডিফল্ট শেলের পরিবর্তে নির্দিষ্ট কমান্ডগুলি কার্যকর করার অনুমতি দেয়। /usr/bin/rc -l আপনার ক্ষেত্রে কাজ করবে। অবশ্যই, এই বাধা হবে /etc/passwd / chsh। // আপনি অবশ্যই, এক-লাইন স্ক্রিপ্ট লিখতে পারেন যা কেবল চলতে পারে /usr/bin/rc -l, এটি সংরক্ষণ করুন /usr/bin/rcl, এটি এক্সিকিউটেবল করা এবং এটি যোগ করুন /etc/shells। তাত্ক্ষণিক নতুন শেল!
Daniel Beck

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