কিছু স্টার্টআপ অ্যাপ্লিকেশন স্থগিত / বিলম্ব করে লগইন করার সময় আমি কীভাবে হ্রাস করতে পারি?


11

প্রতিটি লগইন (উদাঃ, redshift-gtk, gtg) স্বয়ংক্রিয়ভাবে শুরু করার জন্য আমার কিছু অ্যাপ্লিকেশন সেটআপ আছে তবে এগুলি স্টার্টআপ অ্যাপ্লিকেশনগুলিতে যুক্ত করার পরে ( System -> Preferences -> Startup Applications) স্পষ্টতই লগইন করার সময়টি বেড়েছে। আমার প্যানেলগুলির জন্য ডেস্কটপ ইত্যাদির জন্য যে সময় লাগে তা এত দীর্ঘ - যা পর্যন্ত আমি অপেক্ষা করতে বাধ্য হই না।

আমার এই অ্যাপ্লিকেশনগুলি তাত্ক্ষণিকভাবে উপলভ্য হওয়ার দরকার নেই, তবে শেষ পর্যন্ত এগুলি শুরু হলে ভাল হবে, ইতিমধ্যে আমার প্রয়োজন হতে পারে এমন অন্যান্য অ্যাপ্লিকেশন চালানোর জন্য উবুন্টু মেনু / প্যানেল উপলব্ধ।

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

এই কি niceকমান্ড ব্যবহার করা হয়? অন্য কোনও ধারণা কীভাবে আমি এটি সম্পাদন করতে পারি? যদি সম্ভব হয় তবে আমি স্টার্টআপ অ্যাপ্লিকেশন কমান্ডগুলি সম্পাদনা এড়াতে চাই, যেহেতু এর অর্থ আমার ব্যবহার করা অন্যান্য মেশিনে প্রতিলিপি তৈরির প্রচুর প্রচেষ্টা হবে।


@ রিকার্ডো মুরি - আপনি ঠিক বলেছেন। আমার উদ্দেশ্যটি আরও ভালভাবে জানাতে আমি এখন আমার প্রশ্নের শিরোনাম সম্পাদনা করেছি।
কুশিক

আপনি যদি ইতিমধ্যে না করে থাকেন তবে আমি স্টার্টআপ প্রোগ্রামগুলি এবং পরিষেবাদিগুলিও ছাঁটাই নিশ্চিত করব।
এপারসন

উত্তর:


11

আপনার ডেস্কটপটি লোড হওয়ার জন্য অপেক্ষা করতে সেকেন্ডের সংখ্যা নির্বিচারে এবং পরিস্থিতি অনুসারে পরিবর্তন করতে পারে। পরিবর্তে sleep, সিস্টেমের লোড হ্রাস হওয়ার সাথে সাথেই স্টার্টআপ অ্যাপ্লিকেশনগুলি চালানোর জন্য নিম্নলিখিতগুলি ব্যবহার করার চেষ্টা করুন:

(সম্পাদনা করুন: কৌশিকের পরামর্শ যুক্ত হয়েছে।)

#!/bin/bash
# 
# Delays running an application until the system load has declined.
# 
# Usage:
#   run-when-load-low 'your command here'

echo "export DISPLAY=$DISPLAY; $1 &" | batch

exit 0

এটি হিসাবে সংরক্ষণ ~/bin/run-when-load-lowকরুন run-when-load-low 'COMMAND'এবং প্রারম্ভিক অ্যাপ্লিকেশন পছন্দগুলিতে যুক্ত করুন।

এই পদ্ধতির নোট:

  • উপরের স্ক্রিপ্টটি আমার পক্ষে কাজ করেছে। এটি DISPLAYঅ্যাপ্লিকেশনটিতে কেবল পরিবেশের পরিবর্তনশীলকে পাস করে। জন্য সবচেয়ে ডেস্কটপ অ্যাপ্লিকেশন এই সব আপনি প্রয়োজন হবে। এই কথাটি বলে, কোনও বিশেষ ক্ষেত্রে বিবেচনা করা নিশ্চিত করুন এবং সঠিকভাবে আচরণ করছে না এমন কোনও সমস্যা সমাধানের সময় এই বিষয়টিকে মনে রাখবেন। আপনি যদি মনে করেন কোনও অ্যাপ্লিকেশনটির অন্যান্য পরিবেশের ভেরিয়েবলগুলি পাস হতে পারে printenvএবং অ্যাপ্লিকেশনটির ডকুমেন্টেশন প্রয়োজন হয় তবে আমি ব্যক্তিগতভাবে এখনও এই সমস্যায় পড়িনি start
  • সিস্টেমটির "লোড" মান সম্পর্কে আমার উপলব্ধি হ'ল এটি আইও অপেক্ষা করে না, সুতরাং বিলম্বিত অ্যাপ্লিকেশনগুলি খুব শীঘ্রই আইও-র জন্য অপেক্ষা করা ডেস্কটপ প্রক্রিয়াগুলির কারণে সিপিইউয়ের ব্যবহারের সময় খুব শীঘ্রই শুরু করা উচিত নয়। এটি এমন একটি ক্ষেত্র নয় যা সম্পর্কে আমি বেশি জানি, সুতরাং আমি যদি এখানে ভুল হয় তবে দয়া করে আমাকে সংশোধন করুন।
  • batchঅ্যাপ্লিকেশনগুলি চালিত হলেই কেবল প্রভাবিত করে ; এটি তাদের অগ্রাধিকার / কমনীয়তা পরিবর্তন করে না।
  • এটি বলার অপেক্ষা রাখে না, তবে যদি আপনার সিস্টেমে সর্বদা উচ্চ চাপ থাকে তবে এই পদ্ধতিটি ব্যবহার করে নির্ধারিত অ্যাপ্লিকেশনগুলি কখনই চলতে পারে না।
  • আপনি একটি প্যারামিটার যে শূণ্যস্থান থাকা একটি অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজন হয়, তাহলে আপনি তাদের ব্যাকস্ল্যাশ ব্যবহার করে এটিকে অব্যাহতি পারেন: run-when-load-low 'gedit My\ Notes.txt'। আপনি কি সত্যিই আপনার আবেদন একক উদ্ধৃত পরামিতি পাস প্রয়োজন হয়, আপনি প্রারম্ভে কমান্ডে উদ্ধৃতি চিহ্ন ব্যবহার করতে হবে: run-when-load-low "gedit 'My Notes.txt'"। এর চেয়ে জটিল যে কোনও কিছুর জন্য আপনি সম্ভবত আপনার কমান্ডটি হার্ড-কোডেড দিয়ে স্ক্রিপ্টের একটি অনুলিপি পরিবর্তন করতে পারেন।

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

@ কুশিক এই বিষয়গুলি তুলে ধরার জন্য ধন্যবাদ। আমি তাদের উত্তর আমার উত্তর আপডেট করেছি।
ündrük

দুর্দান্ত, আমি কিছুক্ষণের জন্য এই সমস্যার সমাধান খুঁজছিলাম for
লেভসেক

1
এটি এখন আমাকে লগইনের সময় হ্রাস করতে সত্যই সহায়তা করছে। এই অ্যাপ্লিকেশনগুলি কেবল অবশেষে শুরু করার জন্য, এই অ্যাপ্লিকেশনগুলি আসলে কখন চালিত হয় তা সম্পর্কে আমাকে জানানোর জন্য আমি আপনার স্ক্রিপ্টটি কিছুটা পরিবর্তন করেছি। প্রক্রিয়াটি ব্যাকগ্রাউন্ডে কাঁটাচামচ না করা অবধি এটি batchচলমান অবস্থায় কাতারে থেকে যায় , তাই আমি প্রসেসটিও ব্যাকগ্রাউন্ডে শুরু করেছি। পরিবর্তিত লাইনটি নিম্নরূপ:echo "export DISPLAY=$DISPLAY; notify-send 'Running on Load low' '$1' && $1 &" | batch
কৌশিক

1
@ üন্দ্রাক আমি যখনই উদ্ধৃতকরণ এবং অন্যান্য 'সেরা অনুশীলনগুলি' সম্পর্কে অনিশ্চিত থাকি তখন আমি সর্বদা গ্রেইকের উইকিটি উল্লেখ করি।
অ্যাপারসন

5

আমি দেখতে পেয়েছি যে sleep 10 && COMMANDকমান্ডের নাম হিসাবে ব্যবহার করা কার্যকর হয়নি। কনকি এবং এক্সচ্যাট উভয়ই খুব তাড়াতাড়ি লোড করা এবং কোনওভাবে দুর্নীতিগ্রস্থ হওয়া নিয়ে আমার সমস্যা ছিল। আমাকে ডাকা একটি ছোট স্ক্রিপ্ট লিখতে হয়েছিল এবং এটি এতে লিখতে ~/bin/startupহয়েছিল:

#!/bin/bash
sleep 10
xchat &
conky &

আপনাকে সম্পাদনের অনুমতি দেওয়ার জন্য তার অনুমতিগুলি পরিবর্তন করতে হবে chmod +x ~/bin/startupএবং তারপরে কেবল কমান্ডের সাহায্যে স্টার্ট-আপ অ্যাপ্লিকেশন এন্ট্রি প্রতিস্থাপন করুন startupএবং এটি স্ক্রিপ্টের সমস্ত কিছুকে সরিয়ে ফেলবে।

আপনি যদি সেইভাবে ঝুঁকে থাকেন তবে প্রতিটি অ্যাপ্লিকেশনের জন্য আপনার কাছে একটি ফাইল থাকতে পারে।


অতিরিক্ত হিসাবে আপনি একটি পিরিয়ড (উদাহরণস্বরূপ pre / .bin / প্রারম্ভ) সহ ফাইল বা ফোল্ডারটি উপস্থাপন করতে পারেন তাই এটি লুকানো থাকে, অন্য কথায় আপনি নটিলাস ইত্যাদিতে আপনার ফোল্ডারগুলিতে তাকালে আপনি এটি দেখতে পাবেন না (ভালভাবে সিটিআরএল + এইচ পর্যন্ত টগল প্রদর্শন)
8128

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

1
sleepহবে না বুটিং বিলম্ব। স্টার্ট-আপ অ্যাপ্লিকেশনগুলি অ-ব্লক করা মানে এক সাথে একাধিক জিনিস লোড করা যায়। sleeping বাকী জিনোমকে লোড করতে এবং তারপরে কম-প্রয়োজনীয় জিনিসগুলি লোড করতে দেয়।
অলি

2

'ঘুম' কমান্ডটি ব্যবহার করুন।

সিস্টেম -> পছন্দসমূহ -> স্টার্টআপ অ্যাপ্লিকেশনগুলিতে, আপনি যে প্রোগ্রামগুলিতে বিলম্ব করতে চান সেগুলির কমান্ডটি সম্পাদনা করুন:

sleep 10 && COMMAND

আপনি যে সেকেন্ডটি অপেক্ষা করতে চান তার সংখ্যার সাথে 10 প্রতিস্থাপন করুন এবং মূলত কমান্ড বাক্সে যা ছিল তার সাথে যোগাযোগ করুন।


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

আমি বুঝতে পারিনি লগইন প্রক্রিয়া প্রতিটি কমান্ড শেষ হওয়ার অপেক্ষায় রয়েছে। হতে পারে কেবল ব্যবহার COMMAND &(ব্যাকগ্রাউন্ডে চালানো) কাজ করবে।
dv3500ea

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