Ubuntu GNOME 17.04でGPasteのバグっぽいものを修正して日本語化してみた

GPasteというGNOME環境用のクリップボードマネージャーがある。

Ubuntu 17.04と17.10のGNOME Shellで試用してみたのだが、17.10だとどうも拡張機能がフリーズするバグがあるっぽいというか、17.04でもCPUを使いまくるバグっぽい挙動が見られたので修正して、ついでに日本語化してみた。
端末で、

sudo add-apt-repository ppa:sicklylife/ppa 
sudo apt update 
sudo apt install gnome-shell-extensions-gpaste 

と実行するとインストールできる。拡張機能を有効にするには一旦ログアウトするかGNOME Shellの再起動が必要かもしれない。

ちなみに修正部分は以下の通り。

--- a/src/gnome-shell/pageSwitcher.js
+++ b/src/gnome-shell/pageSwitcher.js
@@ -42,7 +42,26 @@
     },
 
     updateForSize: function(size) {
-        const pages = Math.min((size === 0) ? 0 : Math.floor(size / this._maxDisplayedSize + 1), MAX_PAGES);
+/*        const pages = Math.min((size === 0) ? 0 : Math.floor(size / this._maxDisplayedSize + 1), MAX_PAGES);*/
+
+        var pagest;
+
+        if (size === 0) {
+            pagest = 0;
+        }
+        else {
+            pagest = Math.floor(size / this._maxDisplayedSize);
+
+            if ((size % this._maxDisplayedSize) > 0) {
+                pagest++;
+            }
+
+            if (pagest > MAX_PAGES) {
+                pagest = MAX_PAGES;
+            }
+        }
+
+        const pages = pagest;
 
         for (let i = this._pages.length; i < pages; ++i) {
             this._addPage();
@@ -87,9 +106,15 @@
     setActive: function(page) {
         if (page !== 0 && page !== (this._active + 1) && page <= this._pages.length) {
             if (this._active !== -1) {
-                this._pages[this._active].setActive(false);
+/*                this._pages[this._active].setActive(false);*/
+                this._pages[0].setActive(false);
             }
             this._active = page - 1;
+
+            for (let i = 0; i < this._pages.length; ++i) {
+                this._pages[i].setActive(false);
+            }
+
             this._pages[this._active].setActive(true);
         }
     },

Ubuntu 16.04でFirefoxのスクロールバーの表示が何か変なのを直す

UbuntuFirefoxのスクロールバーが何かおかしい。

f:id:sicklylife:20170818185842j:plain

↑こんな風に普段は細く、

f:id:sicklylife:20170818185914j:plain

↑マウスオーバーすると太くなるのだが、スクロールバーの背面のサイズは固定されたままなので、何となく不格好に見える。

これは修正されないだろうなと思ってたら、やっぱり修正されないようなので、自分で修正してみた。端末で、

wget https://launchpad.net/~sicklylife/+archive/ubuntu/testing/+files/light-themes_14.04+16.04.20161024-0ubuntu1+sicklylife~ppa1_all.deb && sudo dpkg -i light-themes_14.04+16.04.20161024-0ubuntu1+sicklylife~ppa1_all.deb && rm light-themes_14.04+16.04.20161024-0ubuntu1+sicklylife~ppa1_all.deb 

と実行して修正版のテーマをインストールし(途中でパスワード入力が必要)、ログインし直すと、

f:id:sicklylife:20170818190202j:plain

↑こんな風に常時太いスクロールバーが表示されるようになる。ついでにFirefox以外のアプリでも常時太いままになる。

元に戻す場合は、

sudo apt remove -y light-themes && sudo apt install -y light-themes ubuntu-desktop ubuntu-artwork 

と実行してテーマをインストールし直した後、ログアウトすれば元に戻る。

ちなみにUbuntu 17.04だともっと酷くて、Firefoxのスクロールバーが細いままになっている。来年のLTSまでに修正されるといいなぁ…

Ubuntu 17.04以降のGNOME Shellでトップバーのアイコンがピクピク動くのを何とかする

以前、こんな記事を書いた。

↑これとはまたちょっと違う問題なのだが、Ubuntu 17.10で日本語入力を切り替えるとトップバーのアイコンがちょっとだけ動く。

f:id:sicklylife:20170814193926g:plain

↑こんな風にほんのちょびっとだけ動いている。Ubuntu 16.10の時はfcitxの仕様変更によるものだったが、17.10ではfcitxではなくibusを使用している。17.04でもibusを使うと同じように動く。この挙動はどうもテーマのフォント指定の問題のようなのだが、GNOME Shellのデフォルトのテーマをどう弄ったらいいのか分からなかったので、GNOME-LOOKで公開されているテーマを弄ってインストールすることにした。

まず、以下のファイルをダウンロードし、ダブルクリックしてインストールする。

コマンドを使う場合は以下のようにppaを追加してインストールする。

sudo add-apt-repository ppa:sicklylife/ppa 
sudo apt-get update 
sudo apt install united-slc-theme 

次に以下のページにアクセスして拡張機能がインストールされていることを確認する。

Tweak Tool (gnome-tweak-tool)を起動して外観 → GNOME Shell テーマをUnited-SLCという名前になっているものに変更する。ついでに端末で、

gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['']" 
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward  "['']" 

と実行して Super + スペースキーでのインプットメソッドの切り替えを無効にしておく(Mozcからjaに切り換えるとログアウトするまでアイコンが動くようになってしまうため)。

これで一応日本語入力を切り替えてもアイコンが動くことはなくなる。

元にしたテーマはUnited GNOMEで、パッケージの作成にはNoobsLabのppaを参考にしました。

ちなみにテーマをarc-themeなどに変更してもアイコンは動かなくなる。が、arc-themeは青系のテーマでUbuntu標準のテーマであるAmbianceとはちょっと相性が悪いので自作しました。本当はUnited GNOMEをそのまま使えたら良かったのだけれども、United GNOMEGNOME ShellテーマにはAlt + Tabの表示などに不具合があったのでちょっと弄る羽目に…

Ubuntuでアップデートを確認したらGoogle Chrome絡みのエラーが出ていた件

以下のようなエラーが出ていた。

エラー:8 http://dl.google.com/linux/chrome/deb stable Release.gpg              
  公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 6494C6D6997C215E

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています       
状態情報を読み取っています... 完了
パッケージはすべて最新です。
W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: http://dl.google.com/linux/chrome/deb stable Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 6494C6D6997C215E
W: http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg の取得に失敗しました  公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 6494C6D6997C215E
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

以下の記事の、

次のコマンドを端末で実行して解決。

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 

Ubuntu 17.04のDéjà Dupでファイルを復元できないバグを修正してもらった件

Ubuntu 17.04で、デフォルトのバックアップソフトであるDéjà Dupを使ってファイルを復元しようとした所、エラーになって復元できなかったのでバグ報告してみたらすぐに修正された。

パッチを当てたUbuntu 17.04用のdeja-dupをppaにアップロードしたのでよければどうぞ。

sudo add-apt-repository ppa:sicklylife/ppa 
sudo apt update 
sudo apt dist-upgrade 

Ubuntu 17.10以降のファイル検索ツールのバグを何とかしてみた件(仮)

技術評論社のサイトに掲載されているUbuntu Weekly Recipeにて、以下の記事が公開された。

最近ちょろっとtrackerのことを調べていたのでシンクロニシティかな、などと思ったりしたのだが、それはともかく、Ubuntu 17.04までデフォルトとして採用されていたUnity 7のDashには、ローカルに保存されているファイルを検索する機能が備わっており、Ubuntu 17.10からデフォルトになるGNOME Shellにも似たような機能は備わっているものの、ファイル検索機能としてはUnity 7と方向性が異なるようで、少々残念に思っていた。

というのも、GNOME Shellのファイル検索は全文検索がメインらしく、入力した文字列を含むPDFファイルなどが検索結果に表示され、それはそれで便利なのだが、単純にファイル名だけで検索しても引っかからないので、私的には非常に惜しい機能だと言わざるを得なかった。

上記の記事には 原則としてはファイル名を検索します と書かれているが、.txtや.html、拡張子が無いプレーンテキスト、.jpgや.pngといった画像などは検索対象にならないようで、あれこれ弄っているうちにファイル検索用のツールが別に用意されていることに気づいた。

それが上記の記事中にもある デスクトップの検索 というツールで、コマンド名は tracker-needle、パッケージ名は tracker-gui となっている。これを使えばファイル名のみで検索できるし、作成したばかりのファイルでもすぐ検索結果に出てきて中々便利なのだが、使っているうちに頻繁に検索結果が表示されなくなるバグがあることが判明した。

エラーメッセージが出力されないので、仕方なく何度も検索してみて結果が表示されないタイミングを調べた所、

f:id:sicklylife:20170802204605p:plain

↑この画面が表示されると、その次の検索結果が表示されないことが分かった。ので、とりあえずパッチを作成してみた。パッチと言っても該当部分をコメントアウトしただけのものだけど。

下記のパッチを当ててtrackerをビルドし直してみた所、検索結果が表示されない現象は収まったように見える。後日、下記のパッチを当てた17.10用のtrackerをppaにアップロードする予定。

--- a/src/tracker-needle/tracker-view.vala
+++ b/src/tracker-needle/tracker-view.vala
@@ -103,21 +103,21 @@
 
 		switch (display) {
 		case Display.NO_RESULTS:
-			Label l;
-
-			l = new Label ("");
-			l.set_justify (Justification.CENTER);
-
-			string results = _("No Search Results");
-			string help_views = _("Select the view on the toolbar for the content you want, e.g. everything, files or just images");
-			string help_search = _("Start to search using the entry box above");
-			string markup = @"<big>$results</big>\n\n$help_views\n\n$help_search";
-			
-			l.set_use_markup (true);
-			l.set_markup (markup);
-
-			view = l;
-			break;
+//			Label l;
+//
+//			l = new Label ("");
+//			l.set_justify (Justification.CENTER);
+//
+//			string results = _("No Search Results");
+//			string help_views = _("Select the view on the toolbar for the content you want, e.g. everything, files or just images");
+//			string help_search = _("Start to search using the entry box above");
+//			string markup = @"<big>$results</big>\n\n$help_views\n\n$help_search";
+//			
+//			l.set_use_markup (true);
+//			l.set_markup (markup);
+//
+//			view = l;
+//			break;
 
 		case Display.CATEGORIES:
 		case Display.FILE_LIST:

UbuntuがLinuxディストリビューションの中で最も使われているデスクトップOSという調査結果が出たそうな

スラドより、

Phoronixというサイトで、ノートパソコンでLinuxを使っている人を対象にしたアンケートが行われ、その結果Ubuntuが最も使用されているLinuxディストリビューションだという事が判明したらしい。

DistroWatch.comのページヒットランキングと並べるとこんな感じになる。

PhoronixDistroWatch (最近30日)
順位名前シェア名前HPD
01Ubuntu38.9%Linux Mint2639
02Arch Linux27.1%Debian2401
03Debian15.3%Manjaro1631
04Fedora14.8%Antergos1444
05Linux Mint10.8%Ubuntu1181
06openSUSE / SUSE4.2%openSUSE925
07Gentoo3.9%Zorin909
08CentOS / RHEL3.1%Fedora856
09Solus2%elementary803
10Manjaro1.6%Solus713

DistroWatchだとArchは14位、CentOSは16位、Gentooは46位。Archのシェアが凄いなーという印象。ArchWikiの事を考えるとユーザー多そうだなーとは思ってたけど、こんなに多いとは。Manjaroは注目はされてるけど、まだまだ使われてはいない感じか。

使っているノートPCのメーカーのランキングも載っていた。

  1. 39.6% Lenovo
  2. 27.8% Dell
  3. 16.0% ASUS
  4. 15.0% HP
  5. 11.3% Apple
  6. 11.3% Acer
  7. 4.7% 東芝
  8. 3.0% Samsung
  9. 2.3% MSI
  10. 2.1% System76

ThinkPadは日本でも好評みたいだし、Dellもよく名前を聞く上にUbuntuプリインストール機を売っているので上位なのは納得。Acer2chLinux板の荒らしが使ってたなぁ…