SSブログ

【Ubuntu 11.10:Gnome3】Gnome Shellを動かすとデスクトップの上部パネル上にメニュバーで出てしまう問題。(テスト版が出ました..) [ubuntu]

以前から2度ほど、Gnome Shellに透明化されたパネルテーマを使用すると、パネルの下にファイルマネージャーのバーが見えてしまう問題を記述しました。

【Ubuntu 11.10:Gnome3】Gnome Shellを動かすとデスクトップの上部パネル上にメニュバーで出てしまう問題。(仮対処と考察)

【Ubuntu 11.10:Gnome3】Oneiric Alpha 3でGnome Shellを動かすと、デスクトップの上部パネルの背後にメニューバーが出てしまう問題。(Unity以外の環境なら同じ問題が発生する可能性あり)

下図のように、パネルの下に「ブックマーク」や「ヘルプ」というのが見えてしまう問題です。

SS-gnome-shell-oneiric-001.JPG

下記がバグ報告です。

https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/826771

2011/10/25の夜にテスト版が出ました。上記のコメント#23です。

そこには、proposedを使用してくれという記述があって、下記にリンクが張ってあります。

https://wiki.ubuntu.com/Testing/EnableProposed (英語)

proposedリポジトリを追加する方法が書いてありますが、英語です。その上、バージョンが違うのか、その通りやってもできません。そこで、proposedリポジトリを追加する方法を書いておきます。

ただし、proposedリポジトリというのは、あくまで「テスト版」です。(バグフィックスされたものが沢山あるので、私はインストールしたらすぐに使えるようにしています。)それと、proposedリポジトリを追加すると、この問題以外のテスト版アプリも沢山入ります。proposedリポジトリに入っているパッケージは、リリース版のパッケージを上書きします。

実際にどんな事が起きる可能性があるかというと、例えばfirefox 8 がリリースされると、それがインストールされたりします。(あくまで可能性です。)

これらを理解した上で、追加して下さい。

 

< proposedリポジトリの追加方法 >

1) アップデートマネージャーを立ち上げる。

アップデートマネージャーを立ち上げて下さい。そしたら、右下の「設定」ボタンを押して下さい。

SS-proposed-001.JPG

2) proposedリポジトリを有効にする。

下図が立ち上がりますので、「アップデート」のタブを押して、黄色い色の付いた「プレリリースされたアップデート」の所にチェックをいれて、「閉じる」ボタンを押して下さい。

SS-proposed-002.JPG

 

3) proposedリポジトリのパッケージをインストールする

通常のアップデートマネージャーの画面に戻ったら、一度「再チェック」を押して下さい。

初めて、チェックを入れた時は100Mオーバーのファイルがインストールされます。多分、パッケージ数も数百となるはずです。

あとは、通常通りアップデートをインストールを押せばアップデートできます。

これで、この問題の対処したファイルマネージャー(Nautilus 3.2.1)も入ります。

 

< proposedを追加しないで対処したい方>

【Ubuntu 11.10:Gnome3】Gnome Shellを動かすとデスクトップの上部パネル上にメニュバーで出てしまう問題。(仮対処と考察)

で記述した対処方法を行って下さい。基本的には同じ事です。

 

< 余談(愚痴) >

【Ubuntu 11.10:Gnome3】Gnome Shellを動かすとデスクトップの上部パネル上にメニュバーで出てしまう問題。(仮対処と考察)』で記述した対処方法と、Nautilus 3.2.1 がなぜ同じかというと・・・

nautilus-desktop-window.cの100行目付近

        desktop_session = g_getenv("DESKTOP_SESSION");
        if (desktop_session != NULL && !g_str_has_prefix(desktop_session, "ubunt
u")) {
                gtk_widget_destroy (NAUTILUS_WINDOW (window)->details->menubar);
                NAUTILUS_WINDOW (window)->details->menubar=0;
        }

上記がこの問題の対処部分ですが、DESKTOP_SESSIONの環境変数を取ってきて、ubuntu以外だったら、メニューを表示のデータを保持しているものを削除してしまうという方法を取っています。

DESKTOP_SESSIONで判定するなら、メニュー出力をどのプログラムで止めるかは違いますが、判定方法は同じです。

それに、セッション名(ubuntu)をハードコーディング(ソースコードの中に直接書いてしまうこと)するとは思いませんでした。私なら、セッション名で判定するなら、そのセッション名のリストは外部(多分dconfが良いと思います)に出します。

そうでないと、誰かがUnityを使った新しいセッションを作ったら、今度はセッション名が違うのでグローバルメニューがでません。

私は、メニューを出力する相手(この場合は、Dbusの通信先のunity-panel-service)が動作していれば、メニューを表示(送信)するし、逆に相手がいない場合はメニューを送信しないようにすると思っていました。どのプログラムがそれを実現するかは、考え方は色々あると思います。ただ、GTKとappmenu-gtkで対処するべきだと思います。そうでないと、gtkアプリを全てunity用に改造することになり、現実的ではありません。

それ以外に、現在アプリがグローバルメニューの表示/非表示をコントロールするのはgtk_widget_destroyするしかないようです。『【Ubuntu 11.10:Gnome3】Gnome Shellを動かすとデスクトップの上部パネル上にメニュバーで出てしまう問題。(仮対処と考察)』でも記述しましたが、グローバルメニューに対してgtk_widget_showやgtk_widget_hide関数はなんの影響も与えません。こんなのおかしいです。

これがバグだとすると、今回のNautilus 3.2.1のソースコードにも影響します。(なので、稚拙な英語でコメント入れておきました。英語が下手すぎて意味が通じなかったかも・・)

 

 ←モノクロレーザープリンタ(A4)

    最近、プリントアウトの回数が増えて
    MP610だとインク代が気になり始めた。
    これなら、MP610のインク2セット分で購入できる。
    これ、購入しようかな。ただ、置き場所が・・


nice!(2)  コメント(0) 
共通テーマ:パソコン・インターネット

【Ubuntu 11.10】アップデートしようとすると、”ロック /var/lib/apt/list/lockが取得できません。”とかのエラーで実行できない時の対処 [ubuntu]

Ubuntu 11.10(Oneiric)になってから、アップデートをしようとした時にエラーがでてアップデートできなくなることが時々出るようになりました。

アップデートには、atp-get やsynapticパッケージマネージャーやアップデートマネージャーなどで行いますが、いずれも実行できなくて、同じエラーがでます。また、dpkgやadd-apt-repositryなども効かないはずです。(未確認ですが、そうなってるはず)

apt-get をコマンドラインで使用した時は、下記のようになります。

oneiric@ocelot:~$ sudo apt-get update
[sudo] password for oneiric:
E: ロック /var/lib/apt/lists/lock が取得できませんでした - open (11: リソースが一時的に利用できません)
E: ディレクトリ /var/lib/apt/lists/ をロックできません
E: ロック /var/lib/dpkg/lock が取得できませんでした - open (11: リソースが一時的に利用できません)
E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。これを使う別のプロセスが動いていませんか?

このようになったら、私は次のようにしています。

1) 一度再起動してみる

一旦、全て終了して再起動します。

そして、もう一度ログインしてアップデートをしてみます。アップデートが出来ればOK。出来なければ次に進んで下さい。

2)  Recovery Consoleに入る

まず、ログアウトしてログイン画面を出します。

下図のようにセッションを選ぶメニューを開いて「Recovery Console」を選んで、パスワードを入れてログインします。

SS-apt-recovery-001.jpg

そうすると下図のようにリカバリーコンソールが起動します。

SS-apt-recovery-002.jpg

※ちょっと見にくいし、小さい。

3) ロックファイルの削除

下記の2行を実行してロックファイルを削除します。

sudo rm /var/lib/apt/lists/lock

sudo rm /var/lib/dpkg/lock

その後、下記の2行を行います。

sudo apt-get update

sudo apt-get install -f

最後に、exit と入力して抜けます。

4) 普通のセッション(ubuntuとか)にログイン

あとは普段使用しているセッション(ubuntuやgnome)のセッションにログインして、アップデートするなり、dpkgを使用するなりします。

 

<< 簡単な解説 >>

Ubuntuはインストールしたパッケージをデータベースのような感じで持っています。ここで、apt-get やアップデートマネージャーを同時に複数しようすると、データベースが壊れてしまう可能性があります。

その為、データベースにアクセスするアプリケーションを同時に1つだけにする為に、lockというファイルを利用してデータベースにアクセスしているアプリケーション以外はアクセスできないようにしています。

ところが、途中でデータベースにアクセスしているアプリケーションが何らかのトラブルが発生して、異常終了してしまうと、lockファイルは「異常終了したアプリケーションがアクセスしている」という状態のまま残ってしまいます。

それで、アクセスしているアプリケーションが無いのに、他のアプリケーションや異常終了したアプリケーションを起動しても「他のアプリケーションが使用しています」といった主旨のエラーがでてしまうわけです。

このような方法は、同時に1つしかアクセスできないものに対してよく使われます。有限で複数の場合(同時に5つまでとか)はセマフォーとかが使用されます。

 

 ←パソコン用テプラ

   個人的な都合でテプラを調べていました。
   パソコンに繋げて出力できるテプラって
   あるだろうな~と思ったら、やっぱりありました。
   ただ、普通のテプラより値段がちょっと高いです。


nice!(2)  コメント(1) 
共通テーマ:パソコン・インターネット

【Ubuntu】Live CDやUSBからのchroot方法 (メモ) [ubuntu]

以前の記事『【Ubuntu 11.10】Gnome Classic(古いタイプのデスクトップ画面、正確にはちょっと違う)でCompizを使用する。』の関連で、下記サイトを見つけました。

http://www.tuxgarage.com/

このサイトにLive CDやUSBからのchrootの方法(下記URL)が載っていたので、起動しなくなった時の事を考えて、自分の為にメモをして記述しておきたいと思います。 なので、この方法はまだ実際には試していません。

元ネタ:

http://www.tuxgarage.com/2011/07/creating-chroot-ubuntu.html

 

<< chroot方法 >>

1) Live CD/USBから起動

普通にLive CD/USBから起動します。

2) chroot先のデバイスを探す。

chroot先のデバイス(大抵、起動できなくなったUbuntuが入っていたパーティション)を下記のコマンドで見つけます。

sudo fdisk -l

複数UbuntuなどのLinuxディストリビューションを入れた方は、どこに入れたか確認程度のはずです。

1つだけなら、Linuxと書いてあるパーティションです。

/dev/sdXY の部分を覚えておきます。

3) chroot

下記のコマンドを入力していきます。

sudo mkdir /mnt/temp
sudo mount /dev/sdXY /mnt/temp
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/temp$i; done
sudo cp /etc/resolv.conf /mnt/temp/etc/resolv.conf
sudo chroot /mnt/temp

/dev/sdXYの部分は 2)で覚えておいたものを使います。

上記の例ではマウントポイントを/mnt/tempにしていますが、別でもかまわないはずです。変える時は、それに合わせて、上記のコマンド群の/mnt/tempも変更して下さい。

4) chroot先で操作

root@ubuntu:/#

となったはずですので、後は必要な処置をして下さい。

例えば、MBRを壊してしまった時には、

sudo grub-install /dev/sdX

とか・・・(この /dev/sdX と前述の/dev/sdXYは、同じ場合もありますし、違う場合もあります。各自の環境によって違いますので、ハードディスクのどこにMBRを入れるのか、しっかり理解した上で決めて下さい。)

あと、下記のコマンドとかが考えられます。

sudo apt-get install --reinstall <パッケージ名>

5) chroot環境から抜ける

exit コマンドで抜けます。

その後、マウントを外す為に、下記を入力します。

for i in /dev/pts /dev /proc /sys; do sudo umount /mnt/temp$i ; done

後は、Live CD/USBで続きをするなり、終了するなりして下さい。

 

 ←デジタル卓上メモ

   やはりこういう製品あったか・・・
   私の場合、ポストイットでメモを取って張り付けて、
   いつの間にか無くなってメモの役目を果たさない。
   でも、これなら・・・と思いましたが、
   ポストイットみたいに、本の間とかに張り付けられない。


nice!(2)  コメント(0) 
共通テーマ:パソコン・インターネット

【Ubuntu 11.10】 デスクトップテーマが適応されず、パネルやアイコンがGnomeのデフォルトテーマになってしまう問題(つまり、GTK-3.0のテーマとアイコンのテーマが適応されない問題)の対処。 [ubuntu]

昨日(2011/10/23)の記事を書いた後ぐらいに、下記のようにデスクトップテーマが適応されずに、パネルやアイコンがGnomeのデフォルトテーマになってしまいました。

言い換えると、gtk+3.0のテーマと、アイコンのテーマが適応されないのです。

SS-settings-001.jpeg

今回、発生した問題の特徴は、下記の通りです。

1) GTK+3.0のテーマとアイコンのテーマのみが適応されませんでした。逆に言うと、それ以外(例えば、gnome-shellのシェルテーマ)は変更できます。

2) gnome-settings-daemonはちゃんと動いていいました。下記のコマンドで確認しました。

ps aux | grep gnome-settings-daemon

3) 発生頻度は、100%です。 

4) unityでもgnome-shellでも発生します。(下図参照)

SS-settings-003.jpeg

それで、色々試してみました。以前、VirtualboxでUbuntu 11.04(Natty)を動かしたときもテーマが適応出来ない問題があって、gnome-settings-daemonを少し遅らせて開始させる(delay start)を試してみたりしました。

参考:『【Ubuntu 11.04】Virtualbox上で動かした時、時々テーマが適応されずパネルやアイコンなどがGnome Classicのテーマになってしまう対処

上記と症状がそっくりですが、直りませんでした。今回の場合は発生頻度が100%なので、原因が違っていました。

gnome-settings-daemonが関係あるだろうと、予想していました。そして偶然、解決方法を見つけました。

<< 解決方法 >>

端末から下記を入力してください。

gsettings get org.gnome.settings-daemon.plugins.xsettings active

もし、false と出力されたら、この記事の問題と同じです。次のコマンドを入力してください。

gsettings set org.gnome.settings-daemon.plugins.xsettings active true

あとは、ログアウト&ログインをしてください。下図のようになって、テーマが適応できるようになっているはずです。

SS-settings-004.jpeg

ただ、どうしてこうなったのか、原因は不明です。

再インストールせずにすんだ。。。C=(^◇^ ; ホッ!

 

 ←ソーラーバッテリーチャージャー(DC12V用)

   こんなのあるんだ・・・
   以前、家の車(もう売ったけど)が、あまり乗らないので
   2度もバッテリー上げた。その車にあうバッテリー高かった。
   知ってれば試したのにな~。
   私が乗ってるヨットにも、ソーラーパネルついてるけど
   あれ動いてるのかな??


nice!(1)  コメント(2) 
共通テーマ:パソコン・インターネット

【Ubuntu 11.10】Gnome Classic(古いタイプのデスクトップ画面、正確にはちょっと違う)でCompizを使用する。 [ubuntu]

Ubuntu 11.10(Oneiric)で、Gnome Classic(Ubuntu 10.10までの標準のデスクトップ環境)でCompizを動かせないかな~と思いました。(ネット上でも要望を見たことがあるような気がします。)

SS-compiz-classic-003.jpeg

もちろんCubeもできる。

SS-compiz-classic-001.jpeg

Expo動かすと・・・

SS-compiz-classic-004.jpeg

どこからたどり着いたのかは忘れましたが下記の記事がありました。

http://www.tuxgarage.com/2011/10/running-gnome-classic-with-compiz.html

基本的には/usr/share/gnome-session/sessionsのディレクトリにあるgnome-classic.sessionのwindow managerの部分をcompizにすれば動くのですが、上記記事にあるように、もう一工夫いりました。

RequiredProviders=windowmanager;notifications;

notifications;の部分を削除してあげなければなりません。 (始めちゃんと読まなかったので、削除とは思わす苦労しました。)

それで、上記記事だとGnome Classicのセッションを書き換えているだけなのですが、せっかくなので下図のように新しい「Gnome Compiz」というセッションを作ることにしました。

SS-compiz-classic-002.jpeg

上記スクリーンショットはログイン画面をテストモードで動かした物です。実際には、画面いっぱいに表示されます。

 

<< やり方 >>

1) セッションファイルをコピーして編集する。

cd /usr/share/gnome-session/sessions

sudo cp gnome-classic.session gnome-compiz.session

sudo vi gnome-compiz.session

ここで、下記の様に編集します。

[GNOME Session]
Name=GNOME Compiz
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=compiz
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/nux/unity_support_test --compiz
FallbackSession=gnome-fallback
DesktopName=GNOME
 

赤い字が書き直した所、薄い青(notifications;)が削除したところです。

この記事の冒頭で紹介したURLだとIsRunnableHelperを書き直していませんが、Compizが動作するかチェックした方がよいと思い、書き直しました。

2) デスクトップエントリーファイルのコピーと修正

cd /usr/share/xsessions

sudo cp gnome-classic.desktop gnome-compiz.desktop

sudo vi gnome-compiz.desktop

ここで下記の色が着いているところを書き直します。

[Desktop Entry]
Name=GNOME Compiz
Comment=This session logs you into GNOME & Compiz with the traditional panel
Exec=gnome-session --session=gnome-compiz
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-3.0

赤字のところが、ログイン画面に表示されるセッション名になります。緑字はコメントなので適当に入れてください。青字の所は1)でコピーした gnome-compiz.session の拡張子の前と同じ文字列にしてください。

3) ログアウトしてGnome Compizセッションに入る。

修正がおわったらログアウトして、ログイン画面でGnome Compizを選べるはずですので、 選んでログインしてください。

基本的にはこれで終わりです。ただ、Compizの設定プラグインが不要なものが入っていたり、逆に必要なものが入っていなかったりすると思います。何故か分かりませんが、プラグインのチェックを入れたり外したりするとCompizが落ちると思います。同時に、設定していたものも全くなくなってしまうと思います。

そこで、4),5)の項目をやるのですが、結構面倒くさいし、経験がないとできないかもしれません。

4) compizconfig-pythonの修正

compizconfig設定マネージャーのプロファイルを開くと文字化けする問題を修正します。

下記の私の記事に従って修正してください。

【Ubuntu 11.10】Compiz Comfig設定マネージャーのプロファイル選択が出来ない問題の対処 --- Compiz Desktop Cubeも動くようになった

修正するコードは、上記記事の物でもよいですし、下記のバグ報告のdiffを見て修正してもよいです。

https://bugs.launchpad.net/ubuntu/+source/compizconfig-python/+bug/874799

もし、このバグが直ってcompizconfig-pythonがリリースされたら、この項目をする必要はありません。

 

5) プロファイルの修正

以前記述した下記の設定ファイルのエクスポートとインポートの方法を応用して行います。unityはいらないので消してください。

【Ubuntu 11.04】Unity 上で Compiz 3DデスクトップCubeを動かす方法

上記をいちいち読んで行うのは面倒と言う方は、私のプロファイルを広告の下に載せておきます。(表示されていない方は、「続きを読む」を押してください。これを、gnome_compiz.profile (拡張子が.profileであれば適当な英字の文字列でよい)でセーブして下記の手順で読み込みます。

A) CompizConfig設定マネージャーを立ち上げて、左の欄の下の方の「設定」を押す。

SS-compiz-classic-005.jpeg

B) 別名でインポートを押します。ファイル選択が出てきますので、セーブしたプロファイルを読み込みます。すると、次にプロファイル名を付けるように言われますので下図のように「no_unity」とか、自分でわかりやすい文字を入れます。(英数字以外を私は付けたことがないので、日本語が動作するかは分かりません)

SS-compiz-classic-006.jpeg

C)かなり待つ。10分ぐらい待ってください。すごく時間がかかります。

すると、私の作成したプロファイルになります。(結構、うっとうしいかも・・・)

※補足※

ひょっとしたら、4)をやらずに5)をやってもうまくいくかもしれません。私は試していないです。

チェックが入っているプラグインに関しては、弄っても大丈夫です。チェックが入っていないものは、くれぐれも触らないように。

 ←ナナオのディスプレイ

    やっぱり、ナナオは値段は張るけど
    評価高い。
    価格.comでも売れ筋No.3(2011/10/22現在)
    いいな~。お金あったら欲しい。
    ちなみに私のBenQ G2420HDは型落ち・・・

 

 

 

 

続きを読む


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。