ডকুমেন্টেশন: লিনাক্স সেশনের আর্কিটেকচার


20

আমি একটি আধুনিক লিনাক্স সেশনে জড়িত ডেমন এবং পরিষেবাদির স্ট্যাকের বর্ণনা দিয়ে একটি ভাল ওভারভিউ ডকুমেন্টেশন খুঁজছি। যদিও বিভিন্ন ডকুমেন্টেশন পড়েছি dbus, এবং systemd, আমি এখনও বড় চিত্র পাই না।

বিশেষত, আমি এই প্রশ্নের উত্তর খুঁজছি (প্রশ্নের উত্তরগুলি দেবেন না, তাদের কেবলমাত্র আমি কী ধরণের ডকুমেন্টেশন খুঁজছি তা পরিষ্কার করা উচিত):

  • লগ ইন করার পরে কোন প্রক্রিয়াটি ব্যবহারকারীর সেশনের মূল?

  • কোন প্রক্রিয়া শুরু করা উচিত, এবং কেন? আমি ডেস্কটপ-অজোনস্টিক উত্তর খুঁজছি, জিনোম, কেডিএ, এফভিডাব্লুএম, বা কোনও সাধারণ শেল শুরু হোক না কেন।

  • এই সমস্ত ডেমনরা কী ভূমিকা পালন করে? তাদের মধ্যে কোনটি একাই চলবে, যা অন্যের উপর নির্ভর করে? কোনটি কার দ্বারা শুরু করা উচিত, কেন, এবং কত দিন? আর সেই চিড়িয়াখানাটি কে রক্ষণাবেক্ষণ করা উচিত?

আমি জিজ্ঞেস করছি, কারণ আমি দেখা গেছে যে আমি ডান বুট করার পরে চলমান ডেমন একটি সম্পূর্ণ চিড়িয়াখানা আছে: systemd-journald, systemd-udevd, dbus-daemon, systemd-logind। কিন্তু যথেষ্ট: এই ছাড়াও, রানিং অতি লাইটওয়েট পিডিএফ-ভিউয়ার zathura আরও সঙ্গে আমার অধিবেশন মান dbus-launch, dbus-daemon, at-spi2-registryd, এবং at-spi-bus-launcher, আধুনিক লঞ্চ এখনও অন্য dbus-daemon। এর মধ্যে কেউ আগে উপস্থিত ছিল না, কাউকে আমন্ত্রণ করা হয়নি, তবে তারা লগ আউট না হওয়া পর্যন্ত তারা আমাকে ঘৃণিত অনুভূতি দেবে around আমি নিশ্চিত আমি এখানে কিছু মিস করছি ...

আর একটি উদাহরণ: লগইন করার পরে, আমি systemdআমার ব্যবহারকারীদের ইউআইডি নিয়ে ছুটে চলেছি, তবে এটি কী করা উচিত তা আমার কোনও ধারণা নেই (যেহেতু 206 সংস্করণ আমি মনে করি যে সেটিকে আমি সেশন ম্যানেজার হিসাবে ব্যবহার করব না , ঠিক?) এটির একটি শিশু প্রক্রিয়া রয়েছে (sd-pam), যা সম্পর্কে ডকুমেন্টেশন সন্ধান করতে আমি ব্যর্থ হয়েছিল।

তারা কি করে? এই সেটআপ পিছনে ধারণা কি?

আমার দৃষ্টিকোণ নির্মল: "পুরানো দিনের" এটা জানা যে যথেষ্ট ছিল login(আমার লগ-ইন শেল চালু করবে bash, নির্বাহ ~/.profile), এবং যে বিন্দু থেকে আমি একটি সেশন বিল্ডিং পরিস্থিতির উপর নির্ভর করে, হয়তো চালু অগ্রসর হতে পারে screen, অথবা startx


4
এই প্রশ্নের উত্তর দেওয়া যাবে না কারণ প্রতিটি ডিস্ট্রো নিজস্ব স্টাফ করে। এর চেয়েও খারাপ, ডেস্কটপ পরিবেশে কেডি এবং জিনোমের পরিবেশ বিস্তৃত হয় যা এক্স উইন্ডোয়িং সিস্টেমটি শুরু হওয়ার পরে যা ঘটেছিল তার সাথে সম্পর্কিত। তবুও খারাপ, ড্রেসগুলি তাদের কাজ করার পদ্ধতি পরিবর্তন করে - আপনি সিস্টেমড উল্লেখ করেছেন যা তুলনামূলকভাবে নতুন। এখন আপনি যদি ডিস্ট্রিবিউশন-অজোনস্টিক উত্তর চান তবে এটি হ'ল লিনাক্স কার্নেল init শুরু করে, এবং সমস্ত কিছু কীভাবে init কনফিগার করা যায় তার উপর নির্ভর করে "। এই উত্তরটি যেমন বিস্তৃত তেমনি অগভীর, যখন প্রতিটি গভীর উত্তরের জন্য আপনাকে কমপক্ষে বিতরণ সংস্করণগুলিতে আপনার প্রশ্নটি সঙ্কুচিত করতে হবে।
থারস্টেন স্টার্ক

1
আপনার প্রশ্ন বিভক্ত করুন। উদাহরণস্বরূপ আমি আপনাকে জিনোম সেশন এবং স্টার্টকেডকে "রুট সেশন" প্রক্রিয়া হিসাবে সন্ধান করতে বলতে পারি যার আরও ব্যাখ্যা প্রয়োজন।
থারস্টেন স্টার্ক

1
@ থারস্টেন-স্টার্ক: "উত্তর দেওয়া যাবে না কারণ প্রতিটি ডিস্ট্রো তার নিজের জিনিসগুলি করে" তাই আপনি বলছেন যে কোন ডিমন চলছে তা নিয়ে আমি কোনও অনুমান করতে পারি না? আমি সত্যিই এটি বিশ্বাস করতে পারি না। দুঃখিত, তবে প্রশ্নটি বিভক্ত করা আমার উত্তরটি খুঁজে পাবে না। তবে আমি "ডেস্কটপ-অজানাস্টিক" পুনরায় ব্যাখ্যা করার চেষ্টা করব: আমি একটি সেশনে প্রত্যাশিত সর্বনিম্ন সাধারণ ডিনোমিনেটর বা সর্বনিম্ন চলমান ডিমনস (এবং তাদের প্রত্যেকের জন্য ন্যায্যতা) সন্ধান করছি। তারা কীভাবে যোগাযোগ করে এবং কীভাবে এই সেটটি বিভিন্ন ধরণের সেশনের সাথে পরিবর্তিত হয় (কোনও টার্মিনাল সেশনে কোনও ডিবিএসডি হয়? এসএসএইচের মাধ্যমে?)
স্টিফান

1
লিনাক্স এমন ডিভাইসগুলিতে চলছে যেগুলির একটি এলসিডি প্রদর্শন ছাড়া কিছুই নেই। এটি এমন মোবাইল ফোনেও চলছে যেগুলিতে অ্যাপস্টোর নেই এবং একটি ক্যামেরাও নেই। এটি একটি স্যামসাং গ্যালাক্সি এবং মেনফ্রেমে চলছে। এটি - বোধগম্য হতে পারে - বেশ কয়েকটি টেরাবাইট র‌্যাম ব্যবহার করতে পারে এবং এটি কিছু কিলোবাইটে ফিট করতে পারে। আমি লিনাক্স সেশনের সর্বনিম্ন সাধারণ ডিনোমিনেটর লিনাক্স এবং আপনার কাছে "পছন্দের স্বাধীনতা" রয়েছে যা আপনার প্রয়োজনের তুলনায় মাঝে মাঝে কুৎসিত হয়। একটি ডেস্কটপের জন্য আমি সর্বনিম্ন সাধারণ ডিনোমিনেটর তালিকাভুক্ত করার চেষ্টা করব তবে আপনি "সবকিছু" পরিবর্তে ডিবিএস সম্পর্কে প্রশ্ন জিজ্ঞাসা করা ভাল।
থারস্টেন স্টার্ক

উত্তর:


8

আপনার প্রশ্নে আমি এতটাই মুগ্ধ হয়েছি যে আমি লিনাক্সিন্ট্রোতে এর উত্তর দিয়েছি । আপনার প্রশ্নের উত্তরটি এখানে দেওয়া হয়েছে:

ফেডোরা, সুস বা উবুন্টুর মতো লিনাক্স সহ একটি সাধারণ পিসি যখন ধাপগুলি ধাপে নীচে যাবে:

  1. বিআইওএস স্ব-চেক পরিচালনা করে
  2. বিআইওএস বুট সেক্টর লোড করে এবং এটি কার্যকর করে
  3. গ্রাব বা লিলোর মতো বুটলোডার কার্যকর হয়
  4. বুটমেনু দেখানো হয়েছে (alচ্ছিক)
  5. কার্নেল লোড হয়
  6. প্রাথমিক র‌্যাম ডিস্ক লোড হয়েছে
  7. কার্নেল কার্যকর করা হয়
  8. কার্নেল ডিআইজি চালায়
  9. init আপনার ডিস্ট্রো, সংস্করণ এবং কনফিগারেশনের উপর নির্ভর করে চালায়

    • SysV init স্ক্রিপ্ট বা
    • সিস্টেমড বা
    • ভুঁইফোঁড়

এই সমস্ত প্রোগ্রামের বোধগম্য পরিষেবাগুলি শুরু করা

  • dbus যা অ্যাপ্লিকেশনগুলির মধ্যে যোগাযোগের অনুমতি দেয় যাতে একটি অ্যাপ্লিকেশন অন্য চলমান অ্যাপ্লিকেশন থেকে ফাংশনগুলি কল করতে পারে। এটি এমন কিছু যা সাধারণত ব্যবহারকারীদের কাছে দৃশ্যমান হয় না, উদাহরণস্বরূপ একটি অ্যাপ্লিকেশন উইন্ডো ম্যানেজারকে নিজস্ব উইন্ডোটিকে ফোকাসে রাখার জন্য কল করে
  • লগইন যা ব্যবহারকারীদের CTRL_ALT_F * টার্মিনালগুলিতে লগ ইন করতে দেয়। পিএস-এ-র হিসাবে দেখা লগইন প্রক্রিয়াটি সিস্টেমড-লগইনডের ক্ষেত্রে হবে (আবার বিতরণে পৃথক হতে পারে)
  • উদেব এর প্রচুর নাম রয়েছে, যেমন আমার জন্য আমি পিএস-এ এর সাথে সিস্টেমড-উদেব হিসাবে খুঁজে পাই find এটি উদাহরণস্বরূপ ডিভাইসটি আপনাকে সংযুক্ত ডিভাইসগুলিতে / dev / ডিভাইসগুলিতে হ্যান্ডল করে, যেমন একটি ইউএসবি ডিস্ক
  • ক্রোন যেটি / etc / crontab এ সময় সারণির উপর ভিত্তি করে কমান্ডগুলি কার্যকর করবে এবং বুটে কমান্ড শুরু করতে একটি "@ রিবুট" বৈশিষ্ট্য রয়েছে।

10) systemd দ্বারা পরিচালিত লগইন প্রক্রিয়াটি ভার্চুয়াল টার্মিনালে লগিনের জন্য অপেক্ষা করবে, সাধারণভাবে CTRL_ALT_F1 টিপে টিপে পৌঁছানো যায়

১১) সাধারণত এবং ডিফল্টরূপে, ডিআইসি প্রক্রিয়াটি এখন ডিসপ্লে ম্যানেজার, যেমন- কেডিএম (কেডিপি প্রদর্শন ম্যানেজার) বা এক্সডিএম শুরু করবে

12) ডিসপ্লে ম্যানেজার এখন গ্রাফিকাল সিস্টেম শুরু করবে। কার্যত কোনও গ্রাফিকাল সিস্টেম নেই তবে এক্সর্গ (হিলডোন এমবেডড ডিভাইসের জন্য)।

১৩) ডিসপ্লে ম্যানেজার এক্স লর্গ সার্ভারকে লগইন স্ক্রিন প্রদর্শন করার পরামর্শ দেবে


এখন স্টার্টআপটি সম্পূর্ণ হয়ে গেছে এবং কম্পিউটারটি ব্যবহারকারীটির লগ ইন করার জন্য অপেক্ষা করে।


14) ডিসপ্লে ম্যানেজারে ব্যবহারকারী লগতে ডেস্কটপ পরিবেশ কেডিএ, জিনোম বা এক্সএফসিই 4 এর মতো শুরু করবে। ব্যবহারকারীর কে.ডি. অধিবেশনটির মূল প্রক্রিয়াটিকে স্টার্টকেড বলা হবে, জিনোমের মূল প্রক্রিয়াটিকে জিনোম-সেশন বলা হবে, এক্সএফসিএ 4 এর মূল প্রক্রিয়াটিকে xfce4-सत्र বলা হবে

15) কেডিআই সাধারণত exec / .kde / অটোস্টার্ট এবং ডেস্কটপ ফাইলগুলি / etc / xdg / অটোস্টার্ট থেকে শুরু করে ( নির্ধারিত কার্যগুলি দেখুন ) exec

16) যখন ব্যবহারকারী গ্রাফিকভাবে লগ ইন করেছেন এবং কনসোল খোলার জন্য একটি আইকনে ক্লিক করেন, সাধারণত বাশ কার্যকর করা হবে। বাশ প্রথমে .bashrc কার্যকর করবে then

১)) ব্যবহারকারী শেলটিতে একটি লগ খুললে এর অর্থ তাকে পাসওয়ার্ড বা অনুমোদিত কী দ্বারা লগ ইন করতে হবে। তিনি এটি CTRL_ALT_F1 কনসোলে বা কোনও কম্পিউটারে ssh'ing করে করতে পারেন, যেমন লোকালহোস্ট। তারপরে /etc/profile.d এবং .bashrc থেকে .sh স্ক্রিপ্টগুলি কার্যকর করা হবে।


1
এটি একটি লিনাক্স সিস্টেম শুরু করার পদক্ষেপগুলির একটি ভাল, জেনেরিক ওভারভিউ। নির্দিষ্ট সফ্টওয়্যার (যেমন গ্রাব, লিলো, ইউ-বুট) পরিবর্তন হয় তবে ফাংশনটি একই is আমি সন্দেহ করি আপনি ডিআইআই প্রক্রিয়াতে সর্বাধিক আগ্রহী তাই # 8 এবং # 9 পদক্ষেপগুলিতে মনোনিবেশ করুন। sysvinit (/ etc / inittab) systemd বা upstart এর পক্ষে অনেক বেশি অপ্রচলিত। এই উভয়ই সিস্টেভিট পরিষেবা চালাতে / নিরীক্ষণ করতে পারে।
dturvene

উইন্ডোটি ফোকাসে পেতে কোনও অ্যাপ্লিকেশন ডি-বাসের মাধ্যমে কল করে না। -
রবার্ট সিমার

0

উত্তর 42 টি। থারস্টন স্টার্ক মন্তব্যগুলির মধ্যে ইতিমধ্যে মূল সমস্যাটি ব্যাখ্যা করেছেন।

বড় ছবিটি পেতে আপনাকে সহায়তা করতে, আপনার জানতে হবে যে লিনাক্স এবং ওপেন সোর্স সফ্টওয়্যারটি কয়েক মিলিয়ন স্বেচ্ছাসেবক এবং সংস্থাগুলি লিখেছেন এবং রক্ষণাবেক্ষণ করেছেন। সুতরাং, বৃদ্ধিটি বজায় রাখা সহজ নয়।

অন্যদিকে, এখানে প্রচুর ডকুমেন্টেশন রয়েছে: প্রতিটি সফ্টওয়্যারটির ম্যান-পেজ, ডি-বাস কী তা সম্পর্কে একটি ভাল ব্যাখ্যা , বিকাশকারী মেলিং-তালিকা, গুগল এবং আরও। সুতরাং কয়েক বছর সময় নিন এবং আপনার আগ্রহী সমস্ত ডকুমেন্টের প্যাকেজগুলি পড়ুন you আপনার যদি এটির দ্রুত প্রয়োজন হয় তবে কেবল ইউনিক্স এবং লিনাক্সে কিছু ভাল প্রশ্ন জিজ্ঞাসা করুন ।

শুভকামনা।


বৈদ্যুতিক ঝাঁকুনি কীভাবে পরিচালনা করা যায় সে সম্পর্কে সব কিছু জানা আমাকে কীভাবে তৈরি হয় সে সম্পর্কে কিছুই জানায় না। "আপনার আগ্রহী সমস্ত ডক এর প্যাকেজগুলি পড়ুন" - এটি একটি অকার্যকর উত্তর। আপনার উল্লেখ করা ডকুমেন্টেশন আমাকে এই জিনিসগুলি কী বলেছে তা বলেছে। তবে আমি জানতে চাই তারা কীসের জন্য ব্যবহৃত হয়। "শুধু কিছু ভাল প্রশ্ন জিজ্ঞাসা করুন" - আমার প্রশ্নটি সহজ এবং সোজা: ডকুমেন্টেশন কোথায়?
স্টিফান

1
আপনি যে উত্তরটি প্রত্যাশিত তা পেতে কীভাবে জিজ্ঞাসা করবেন তা সম্ভবত আপনার শিখতে হবে। এই ক্ষেত্রে আমি আপনাকে খুব দরকারী FAQ এ নির্দেশ করতে চাই যে কীভাবে প্রশ্নগুলি স্মার্ট ওয়ে জিজ্ঞাসা করতে হবে

0

আমি উত্তরটির আমার সংস্করণ দেওয়ার আগে আমাকে কয়েকটি সংজ্ঞা দিয়ে শুরু করতে দিন

লিনাক্স == 'একটি অপারেটিং সিস্টেম কার্নেল "লিনাক্স সিস্টেম ==" লিনাক্স কার্নেলের চারপাশে নির্মিত এক ধরণের সিস্টেম "একটি লিনাক্স সিস্টেমের সেশন ==" লিনাক্স সিস্টেমে চলমান সম্পর্কিত কিছু ব্যবহারকারী প্রোগ্রামের সেট "

যতক্ষণ আপনি কার্নেল থেকে দূরে সরে যাবেন, সম্ভবত দুটি দুটি "সিস্টেম" এর সাধারণ কিছু মিলবে। যার অর্থ এমন একটি "আধুনিক লিনাক্স সেশন" এর কোনও বুদ্ধিমান সংজ্ঞা সত্যই নেই

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

বাণিজ্যিক লিনাক্স বিতরণের সাথে উপলব্ধ ম্যানুয়ালগুলির সাথে আপনার ভাগ্য ভাল হতে পারে, তবে তাদের বেশিরভাগের রক্ষণশীল প্রকৃতি দেওয়া থাকলে আপনি যুক্তি দিতে পারেন যে তাদের মুক্তিগুলি "আধুনিক" নয়!

আমি যে মূল পরামর্শটি দিয়েছি তা হ'ল আন খুব সাধারণ জ্ঞানের ইউনিক্স / লিনাক্স সিস্টেম উত্তরাধিকারসূত্রে হয়। আমি লোকদের বলতাম যে আমি নিক সিস্টেমগুলি পছন্দ করি কারণ আমি আরম্ভের সাথে আরম্ভ করতে পারি এবং সেখান থেকে, সিস্টেমে যা চলছে তা সমস্ত কিছুই বুঝতে পারি। সিস্টেমড এবং বন্ধুরা এটি পরিবর্তন করেছেন যে কিছুটা হলেও মূল নীতিটি একই - শীর্ষে শুরু করুন এবং কাজ করুন - "প্রোগ্রামগুলি একটি সেশন তৈরি করে" সাধারণত সেগুলি হয় যা আপনি উত্তরাধিকার সূচনার বিন্দুতে শুরু করেছিলেন। সুতরাং, আপনি যদি ssh, আপনি সম্ভবত আপনার ডিফল্ট শেল যা আছে তা পাবেন, ssh যেভাবে কাজ করে। আপনি যদি কোনও গ্রাফিকাল ইন্টারফেসের মাধ্যমে লগ ইন করেন তবে আপনার লগইন ম্যানেজার যেভাবে কাজ করে তা আপনি আপনার লগইন পরিচালক দ্বারা শুরু করা যা কিছু পাবেন

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

দুর্ভাগ্যক্রমে, এর অর্থ এই যে "পৃথক প্রোগ্রামের ডকুমেন্টেশনগুলি পড়া" এটি সমস্ত কিছু বোঝার একমাত্র উপায় এবং একটি অধিবেশনটির জন্য "ন্যূনতম সেট" নেই - একটি প্রদত্ত বিতরণ কোনও প্রদত্ত জন্য কাজ করার উপায় মাত্র লগইন / অ্যাক্সেস পদ্ধতি, এবং নির্দিষ্ট বিতরণ, ডেস্কটপ এবং লগইন পদ্ধতি নির্দিষ্ট।

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