일부 시작 응용 프로그램을 연기 / 지연하여 로그인하는 데 걸리는 시간을 어떻게 줄일 수 있습니까?

Koushik

로그인 할 때마다 일부 응용 프로그램 (예 : redshift-gtk, gtg)이 자동으로 시작되도록 설정했지만 이러한 응용 프로그램을 시작 응용 프로그램 ( System -> Preferences -> Startup Applications)에 추가하면 분명히 로그인하는 데 걸리는 시간이 늘어났습니다. 이 모든 이유로 인해 패널, 데스크탑 등이 나타나는 데 걸리는 시간이 너무 길어서 기다려야합니다.

이 앱을 즉시 사용할 필요는 없지만 결국 시작하면 좋을 것입니다. 그 동안 우분투 메뉴 / 패널을 사용하여 필요한 다른 앱을 실행할 수 있습니다.

모든 시작 응용 프로그램을 편집하여 명령을 at 대기열에 넣으려는 의도로 at 명령을 사용하려고 시도했지만 앱이 필요한 환경 변수 (예 : DISPLAY)를 얻지 못하기 때문에 작동하지 않았습니다.

이것이 어떤 nice명령에 사용됩니까? 이 작업을 수행 할 수있는 다른 아이디어가 있습니까? 가능한 경우 시작 응용 프로그램 명령을 편집하는 것을 피하고 싶습니다. 이것은 제가 사용하는 다른 컴퓨터에서 복제하려는 많은 노력을 의미하기 때문입니다.

변화

데스크탑이로드 될 때까지 대기하는 데 필요한 시간 (초)은 임의적이며 상황에 따라 변경 될 수 있습니다. 대신 sleep다음을 사용하여 시스템로드가 감소하자마자 시작 응용 프로그램을 실행 해보십시오.

(편집 : koushik의 제안 추가.)

#!/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및 응용 프로그램의 설명서입니다. 비록 개인적으로 아직이 문제가 발생하지는 않았습니다.
  • 시스템 "로드"값에 대한 나의 이해는 IO 대기를 고려하므로 지연된 응용 프로그램이 IO에서 대기중인 데스크톱 프로세스로 인해 CPU 사용량이 감소하는 동안 실수로 너무 빨리 시작되지 않아야한다는 것입니다. 이것은 내가 많이 아는 영역이 아니므로 내가 틀렸다면 수정하십시오.
  • batch에만 영향을 미치는 경우 응용 프로그램이 실행됩니다; 우선 순위 / 좋음을 변경하지 않습니다.
  • 이것은 당연한 일이지만 시스템에 항상 높은 부하가있는 경우이 방법을 사용하여 예약 된 응용 프로그램이 실행되지 않을 수 있습니다.
  • 공백이 포함 된 매개 변수로 애플리케이션을 실행해야하는 경우 백 슬래시를 사용하여 이스케이프 할 수 있습니다 run-when-load-low 'gedit My\ Notes.txt'.. 응용 프로그램에 작은 따옴표로 묶인 매개 변수를 전달해야하는 경우 시작 명령에 큰 따옴표를 사용해야합니다 run-when-load-low "gedit 'My Notes.txt'".. 이보다 더 복잡한 경우 명령을 하드 코딩하여 스크립트 사본을 수정하는 것이 가장 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관