ウィンドウマネージャをデフォルトに復元するには?

ウィンドウマネージャをデフォルトに復元するには?

Ubuntuキオスクを作成したいと思い、次のガイドラインに従いました。https://web.archive.org/web/20131210161955/http://phunehehe.is-great.org/2010/run-linux-with-a-bare-window-manager/

/usr/share/xsessions/metacity-session.desktop にファイルを作成してカスタムセッションを追加します。このファイルはログイン管理者にセッションに関する情報を伝えます。コンテンツ:

[Desktop Entry]
Encoding=UTF-8
Name=Metacity
Comment=Metacity without GNOME
Exec=/usr/local/bin/metacity-session
Type=Application

(1) /usr/local/bin/metacity-session に追加されたセッションが実行するファイルを生成します。

content:
#!/bin/bash
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
metacity --replace ccp & wmpid=$!
sleep 1
if [ -f ~/.metacity-session ]; then
source ~/.metacity-session &
else
xterm &
fi
# Wait for WM
wait $wmpid

ユーザー固有の構成ファイル~/.metacity-sessionを生成します。このファイルは(2)で追加したファイルによって実行されます。内容は実行したいプログラムでなければならず、その後にアンパサンドが来なければなりません。

 firefox &

ただし、ログアウトしてからMetacity-sessionを使用してログインしようとすると機能しません(黒い画面がしばらく表示され、再びログインページに戻ります)。その後、コンピュータを再起動することにしましたが、Ubuntuのデフォルトデスクトップを使用してもログインできませんでした!なぜならログインしようとパスワードを入力してログインしたのにメニューもなく何もないんですよ!デフォルトの背景画像とマウスポインタのみが表示され、他のものは表示されません!

その後、Win10がインストールされている他のノートブックにPuttyをインストールし、SSHを介してUbuntuノートブックに接続し、以前に作成した3つのファイル(上記の手順で説明した3つのファイル)をすべて削除しました。しかし、何も起こりません。ログインした後は何も起こらないので、Ubuntuは利用できません!背景画像のみあり、メニューはありません。

編集:私はこれを試しましたがうまくいきませんでした:

sudo apt-get update
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity
sudo apt-get install ubuntu-desktop
sudo apt-get install unity

答え1

いくつかの基本的なセッションコード(通常のセッションで使用される3つのファイルのうちの1つ)を誤って上書きしたようです。ログインして数分待つと、Metacityが別のセッション後にキャッシュを更新するのに遅れていないことを確認してください。

それでも役に立たない場合は、aptを介してデスクトップ環境(unityまたはgnome、おそらくunity-desktopまたはgnome-desktopという)を再インストールしてください。まず試してみてapt-get install --reinstall <packagename>、それでも役に立たない場合はapt-get remove --purge <packagename>正常にインストールしてください。後者はDEに関連するすべての構成およびローカルデータを削除するため、再構成が必要になる場合があります。

第二に、もはや存在しない7年前のチュートリアルに従うことは一般的に最善の考えではありません。ここに尋ねるのも良い選択です。

第三に、キオスクシステムを作成するには、そのような重いウィンドウマネージャは実際には必要ありません。 1つのウィンドウしかないプログラムが必要な場合exec firefox(または任意のプログラム)をスクリプトファイルに入れて(デフォルトは、そのセッションのみを~/.xinitrc使用する別のユーザーがいると仮定して)起動しますstartx。これstartxは、ベアXサーバーを起動し、Xクライアント(ウィンドウを表示したいクライアント)が接続されるのを待つことです。すべてのクライアントがシャットダウンしたら、Xサーバーをシャットダウンして終了します。

一方、いくつかのウィンドウが必要ですが、まだ最小限のGUIが必要な場合は、次のことを試してください。アンボクシング。 Openboxは、デフォルトでウィンドウを表示および管理できる黒い画面であるウィンドウマネージャです。任意の場所を右クリックし、設定可能なコンテキストメニューからオプションを選択することで、何でも起動できます。アーチスウィキいつものように、このトピックに関する貴重な情報源です。

第四に、セッション起動スクリプトには2つの形式のアプリケーション実行があります。 firefox &Firefoxが起動し、バックグラウンドにフォークし、追加の指示を読んでください。exec firefoxFirefoxは読み取りを開始および停止します。したがって、いくつかのバックグラウンドプロセスの代わりに「基本」アプリケーションを起動するには、次のexec構文を使用します。

5番目(これを書く必要がありますか?)、実行したいスクリプトを実行可能としてマークする必要があります。そうしないと、「ファイルxは実行可能ではありません」というエラーが発生し、実行中のすべての操作が停止する可能性があります(この場合は開始グラフィックセッション)。を使用してファイルを実行可能としてマークできますchmod +x <filename>。これが最初に黒い画面を引き起こした可能性がありますが、ファイルを削除してからは不明です。

関連情報