GNU/Linux >> Linux の 問題 >  >> Ubuntu

一部のスタートアップアプリケーションを延期/遅延させることで、ログインにかかる時間を短縮するにはどうすればよいですか?

ログインごとに自動的に起動するようにいくつかのアプリケーション(redshift-gtk、gtgなど)をセットアップしましたが、これらを起動アプリケーションに追加した後(System -> Preferences -> Startup Applications )明らかにログインにかかる時間が長くなりました。このため、パネルやデスクトップなどが表示されるまでにかかる時間が長すぎます。それまでは待たされます。

これらのアプリをすぐに利用できるようにする必要はありませんが、最終的に起動するとよいでしょう。その間、ubuntuメニュー/パネルは、必要になる可能性のある他のアプリを実行するために利用できます。

すべてのスタートアップアプリケーションを編集してコマンドを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'" 。これよりも複雑な場合は、コマンドをハードコードしてスクリプトのコピーを変更するのがおそらく最善です。
関連:cronからGUIアプリを実行できませんか?
Ubuntu
  1. Linuxでアプリケーションの起動時間を改善する方法

  2. ターミナル経由で言語を変更する方法は?

  3. Lubuntuでスタートアップアプリケーションを追加する方法は?

  1. Ubuntu11.10ゲストログインセッションを無効にする方法

  2. ログイン画面でユーザーの順序を変更するにはどうすればよいですか?

  3. Bootchartを使用してデスクトップログイン時間を測定する方法は?

  1. Kdeのデフォルトのログインマネージャを復元する方法は?

  2. コマンドラインから時間を追跡する方法は?

  3. ユーザーが費やす時間を制御する方法