質問: xの起動後にプログラムをどのように起動しますか? f.lux という小さなアプリがあり、時刻に基づいて画面の温度を設定します。 linuxバージョンは、コンソールインターフェイスを備えた少し質素ですが、完全にうまく機能します。xの起動後に起動するように、どこで起動できますか?
回答: まず、「man x」を読んでください: starting up there are two main ways of getting the x server and an initial set of client applications started. the particular method used depends on what operating system you are running and whether or not you use other window systems in addition to x. xserverを起動する方法に応じて、xserverが起動した後に2つのスクリプトを使用して起動することがわかります。 .xinitrc(startx(xinitを起動する)を介してセッションを起動した場合) .xsession(ディスプレイマネージャ(xdm)を介してシステムにログインした場合) (私は個人的にln -s .xinitrc .xsessionなので、どのようにxserverを起動するかは問題ではありません)。システムへのログインに使用するものに応じて(最近ではgdmまたはkdmのどちらかだと思います)、状況は少し異なります。通常、gdmとkdm(およびその他のディスプレイマネージャー)は、「ユーザーセッション」または同様のラベルが付いたものを選択するようユーザーに提供します。この「ユーザーセッション」を選択すると、ほとんどのディスプレイマネージャーは~/.xsessionを起動します。あなたはあなたのアプリケーションとデスクトップ環境/ウィンドウマネージャを立ち上げる責任があります。他の可能な解決策は、さまざまなデスクトップ環境/ウィンドウマネージャーが「自動起動」の概念をどのようにサポートしているかを調べることです。私は個人的にこれらのメカニズムを回避し、古き良き.xinitrc / .xsessionの方法に固執します。.xinitrcの例は次のようになります。xmodmap ~/.xmodmap xsetxkbmap de autocutsel & xflux -l 52 exec /usr/bin/fluxbox