মিডনাইট কমান্ডার কনফিগার দির লোকেশন স্টার্টআপ অপশন


10

আপনি যদি চালনা করেন তবে mc -F দেখতে পাবেন যে সেখানে [সিস্টেম ডেটা] কনফিগারেশন ডিরেক্টরি এবং [ব্যবহারকারীর ডেটা] কনফিগারেশন ডিরেক্টরি রয়েছে

[সিস্টেম ডেটা]

Config directory: /etc/mc/

[ব্যবহারকারী তথ্য]

Config directory: /home/<username>/.config/mc/

প্রথমটি সিস্টেম-ব্যাপী, দ্বিতীয়টি ব্যবহারকারী নির্দিষ্ট।

দ্বিতীয়টি ব্যবহারকারীর বাড়ির অবস্থানের উপর নির্ভরশীল বলে মনে হয়; অন্য কথায়, এটি এটি আবদ্ধ। এর অর্থ আপনি যদি (অস্থায়ীভাবে) একই ব্যবহারকারী হিসাবে বিকল্প কনফিগারেশন দিয়ে এমসি শুরু করতে চান তবে আপনি exportএটির পূর্বে হোম ভেরিয়েবল পরিবর্তন (এবং ইএনজি) করতে পারবেন না । এই 'পরিবর্তনের-হোম-প্রাক-প্রাক-শুরু' ওয়ার্কআরউন্ড, যদিও কৌতুকটি কার্যকরভাবে কার্যকরভাবে গ্রহণযোগ্য নয়, যেমনটি ভাল ... ব্যবহারকারীর বাড়ি পরিবর্তন করে।

আপনি কি মনে করেন যে একটি উপায় আছে

  1. এমসি শুরু হওয়ার আগে ব্যবহারকারীর কনফিগারেশন ডায়ারকে পরিবর্তনশীল করুন (কমান্ড লাইন বিকল্পটি সবচেয়ে উপযুক্ত জিনিস হবে, তবে এটি সেখানে উপস্থিত বলে মনে হয় না)

  2. এমসি শুরু হওয়ার ঠিক পরে ব্যবহারকারীর জন্য 'প্রাকৃতিক' হোম পুনরুদ্ধার করুন, যদি আগে হোম পরিবর্তন করা হয় তবে ব্যবহারকারী দির অবস্থান পরিবর্তন করার একমাত্র উপায়

একসাথে চলমান এমসি দৃষ্টান্তগুলি আলাদাভাবে কনফিগার করা উচিত একে অপরকে হস্তক্ষেপ করা উচিত নয়।

উত্তর:


11

যে কেউ ভাবতে পারে তত সহজ হয়েছে। এমসিহোম ভেরিয়েবল এমসি শুরু করার আগে বিকল্প পথে সেট করা যেতে পারে। ম্যান পেজগুলি এমন কিছু নয় যা আপনি সরাসরি উত্তরটি খুঁজে পেতে পারেন =)

এটি এখানে কীভাবে কাজ করে তা এখানে: সাধারণ উপায়

[jsmith@wstation5 ~]$ mc -F
Root directory: /home/jsmith

[System data]
<skipped>

[User data]
    Config directory: /home/jsmith/.config/mc/
    Data directory:   /home/jsmith/.local/share/mc/
        skins:          /home/jsmith/.local/share/mc/skins/
        extfs.d:        /home/jsmith/.local/share/mc/extfs.d/
        fish:           /home/jsmith/.local/share/mc/fish/
        mcedit macros:  /home/jsmith/.local/share/mc/mc.macros
        mcedit external macros: /home/jsmith/.local/share/mc/mcedit/macros.d/macro.*
    Cache directory:  /home/jsmith/.cache/mc/

এবং বিকল্প উপায়:

[jsmith@wstation5 ~]$ MC_HOME=/tmp/MCHOME mc -F
Root directory: /tmp/MCHOME

[System data]
<skipped>    

[User data]
    Config directory: /tmp/MCHOME/.config/mc/
    Data directory:   /tmp/MCHOME/.local/share/mc/
        skins:          /tmp/MCHOME/.local/share/mc/skins/
        extfs.d:        /tmp/MCHOME/.local/share/mc/extfs.d/
        fish:           /tmp/MCHOME/.local/share/mc/fish/
        mcedit macros:  /tmp/MCHOME/.local/share/mc/mc.macros
        mcedit external macros: /tmp/MCHOME/.local/share/mc/mcedit/macros.d/macro.*
    Cache directory:  /tmp/MCHOME/.cache/mc/

এই বৈশিষ্ট্যের ক্ষেত্রে ব্যবহার করুন:

আপনাকে দূরবর্তী সার্ভারে একই ব্যবহারকারীর নামটি ভাগ করতে হবে (আরএসএ কী দ্বারা অ্যাক্সেসটি ছদ্মবেশী করা যেতে পারে) এবং আপনার প্রিয় এমসি কনফিগারেশন ডাব্লু / ও এটি ওভাররাইট করে ব্যবহার করতে চান। সমকালীন সেশনগুলি একে অপরকে হস্তক্ষেপ করে না।

এটি https://github.com/Rselll91/sshrc এ বর্ণিত sshrc- পদ্ধতির অংশ হিসাবে ভাল কাজ করে


এই সমাধানটির একটি ছোট্ট ক্ষতি কার্যসংক্রান্ত: আপনার ~ / .bashrc নতুন MC_HOME ডিরেক্টরির মধ্যে করার জন্য একটি সিমবলিক লিঙ্ক যোগ
CRI

1

যদি আপনি বোঝাতে চান, আপনি একই সাথে বিভিন্ন কনফিগার ডিরেক্টরিতে একই ব্যবহারকারী হিসাবে দু'টি এমসি চালাতে সক্ষম হতে চান , যতদূর আমি আপনাকে বলতে পারি না। পথটি হার্ডকোডযুক্ত।

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

  • একটি ডিরেক্টরি $HOME/mc_confউপ- ডিরেক্টরি সহ , একটি ডিরেক্টরি তৈরি করুন one
  • বিষয়বস্তুকে সাব $HOME/.config/mc- $HOME/mc_conf/oneডিরেক্টরিতে সরান
  • oneডিরেক্টরিটিকে নকল করুন $HOME/mc_conf/two
  • একটি স্ক্রিপ্ট তৈরি করুন $HOME/bin/switch_mc:

    #!/bin/bash
    
    configBase=$HOME/mc_conf
    linkPath=$HOME/.config/mc
    
    if [ -z $1 ] || [ ! -e "$configBase/$1" ]; then
        echo "Valid subdirecory name required."
        exit 1
    fi
    
    killall mc
    rm $linkPath
    ln -sv $configBase/$1 $linkPath  
    
  • এটি চালান switch_mc one,। rmএ জাতীয় কোনও ফাইল সম্পর্কে ছাঁটাই করবে, তাতে কিছু আসে যায় না।

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

আপনি এটিকে সরাতে killall mcএবং চারপাশে খেলতে পারতে পারেন ; কনফিগারেশন স্টাফ iniফাইলের মধ্যে রয়েছে যা স্টার্ট আপে পড়ে (যাতে আপনি এইভাবে ফ্লাইটিতে স্যুইচ করতে পারবেন না)। আপনি "সেটআপ সংরক্ষণ করুন" না হওয়া পর্যন্ত এটি প্রস্থান না হওয়া পর্যন্ত স্পর্শ করা যায় না, তবে প্রস্থান করার সময় এটি ওভাররাইট করা যেতে পারে, তাই এখানে বিপদটি হ'ল আপনি চলমান উদাহরণের আগে বা বাইরে যা কিছু করেছিলেন তা মুছে ফেলেন।


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

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