私がやろうとしていること:ソースからKDE全体を構築し、システムを変更せずに通常のユーザーとして実行しようとしています。問題:いつもそのソフトウェアだけを実行するようにシステム全体を変更しないと、私が作成したソフトウェアを実行できないようです。
私が知る限り文書セクション2.5.1、これはうまくサポートされています。 kdesrc-buildはログインドライバをインストールし、ログインマネージャがインストールプレフィックスに組み込まれているソフトウェアでプラズマセッションを実行するための適切な設定を見つけることができます。すぐに動作させることはできません。 SDDM はインストールされたスクリプトを見ることができませんが、plasma.desktop
kdesrc-build でインストールされたファイルを /usr/share/xsession フォルダにリンクすることで簡単に動作させることができます。これにより、SDDMは私のセッションを見ることができます。
残念ながら、これは私がソースから構築したKDEをまだ実行していません。その理由は、これが私が作成したソフトウェアで初期化シーケンスを開始しますが、起動シーケンス(plasma/plasma-workspace/startkde/plasma-session/startup.cppとその友達のように)はインストールプレフィックスをstartを実行すると、私が作成したstartkdeが実行されますが、すぐに元の状態に戻り、$PATH
誰も変数を設定しないようです。私の考えでは、これを行うことができる環境スクリプトがあるはずです(kde-env-master.shが良い候補のようです)。
$PATH
だから私はトリックを使って、私が作成したソフトウェアを含むbinディレクトリにログインスクリプトを設定する準備をしました。しかし、まだ十分ではありません。これで、私が作成したバイナリは、自分が作成したライブラリではなくライブラリをシステムにロードしようとします。 initファイルには、$LD_LIBRARY_PATH
私がライブビルドするライブラリを含むディレクトリに設定されていますが、セキュリティ上の理由で頻繁にリセットされるいくつかの参照があります$LD_LIBRARY_PATH
(実際には、initシーケンスが権限を削除した後に発生します)。したがって、実際には環境スクリプトは無視されます。
私が作成したライブラリを見つけるようにldconfigを設定できます。しかし、これはシステム全体であるため、これを行うと、私のディストリビューションにインストールされている安定したソフトウェアで実行される通常のセッションは、私が作成したライブラリを使用しようとします。最善は危険な考えだ。
これはすべて私が何か間違っていることを示唆していますが、私は何が間違っているのかわかりません。結局のところ、ドキュメントはセッションを実行するのが正しい方法であることを示しています。kdesrc-build
ログインドライバをインストールし、私が構築したプレフィックスに構築された環境を正しいディレクトリに設定するドキュメントもあります。すべてがうまく統合されているようです。そうしようとすると問題が一つずつ発見されたので、私が正しくしていないと思うしかありません。
Distroインストールの一般セッションに影響を与えずにカスタムKDEを実行するには、どのようにセッションを設定する必要がありますか?
注: Debian テストと kdesrc-build 20.06 で実行
答え1
~/kde/build/plasma-workspace/login-sessions/install-sessions.sh
kde ビルドセッションをインストールするには、以下を実行する必要があります。
https://community.kde.org/Get_Involved/development#Plasma_Desktop
これはまだ問題になる可能性があります。これらの問題が発生した場合は、 kde bugtracker に報告してください。