Kali環境でカスタムKali Linux ISOを構築しています。メインメニュー構造を完全に変更したり、既存のカリーを交換したり、独自のプログラムを追加したいと思います。もともとKaliインストールでMaltegoだけを保持していたので、kali-maltego.desktopを変更して新しいmenu.directoryを割り当てる必要がありました。ただし、更新時にsudo aptを実行するたびにカスタムコンテンツが上書きされます。
/usr/share/desktop-directoriesからすべてのKaliメニューディレクトリを削除し、私を追加しました。また、/etc/xdg/menus/applications-merged/kali-applications.menuのメニュー構造を変更しました。しかし、明らかに私は何か間違っています。
答え1
これらのファイルを削除することは確かに正しいアプローチではありません。一般に、パッケージシステムを台無しにするのは良い考えではありません(この場合、インストールしたファイルを外部から削除します)。
次の要件を満たすソフトウェアを使用するディストリビューションでは、無料デスクトップ、ユーザーのホームファイル構造内のデスクトップファイルは、システム全体のディレクトリにある同じデスクトップファイルよりも優先されます。この問題は、メニューから削除するアプリケーションのすべてのデスクトップファイルをユーザーのホームファイル構造にコピーし、メニューからそのファイルを非表示にする行を追加して現在のユーザーに属しているコピーされたファイルを変更することで利用できます。
これらのディストリビューションでは、次のようにXYZ
ユーザーメニューからアプリケーションを非表示にする必要があります。
cp /usr/share/applications/XYZ.desktop ~/.local/share/applications
~/.local/share/applications/XYZ.desktop
その後、行の最後にNoDisplay=true
。
ユーザーセッションを再開すると、XYZ
メニューに表示されなくなります。他のユーザーは引き続き使用できます。これはアップグレード後も持続します。
これがどのように機能するか、およびいくつかの代替案の詳細については、以下にあります。ヒントとコツデスクトップアイテムのArchWikiページから。