Ubuntu 16.04/16.10でサスペンドを無効にする

Ubuntuでは画面右上の歯車っぽいアイコンをクリックするとログアウトとかシャットダウンとかが出来るようになっているが、ログアウトとシャットダウンの間にサスペンドがあって、稀に間違えてクリックしてしまってイラッとしたことがあったのでサスペンドを無効化してみた。

端末を起動して、以下のコマンドを実行後、Ubuntuを再起動すればサスペンドが非表示になる。

echo '[Disable suspend]'$'\n''Identity=unix-user:*'$'\n''Action=org.freedesktop.upower.suspend;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions'$'\n''ResultActive=no'$'\n' | sudo tee /etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla 

元に戻す場合は、

sudo rm /etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla 

と実行してUbuntuを再起動すれば再びサスペンドが出来るようになる。

Ubuntu 16.10で通知領域のアイコンがピクピク動くのを何とかする

アイコンが動かないように修正したfcitxをppaにアップロードしました。


Ubuntu 16.10から、通知領域にあるキーボードアイコンの横に jp とかいう文字が表示されるようになってしまった。表示されるのはいいのだが、日本語入力をオン/オフにする度にjpの文字が消えたり出たりするため、その分インジケーターアイコンが左右にピクピク動いてしまい、非常に見苦しいというか鬱陶しいというか。

f:id:sicklylife:20161027203100g:plain

↑こんな感じに動いて気が散って仕方がないのだがjpを非表示にする方法が分からなかったので、仕方なくキーボードアイコンを非表示にして代わりに状態パネル使用することにした。

コンピューターを検索Fcitx 設定をクリックして起動し、「外観」タブをクリック、拡張オプションの表示をクリックしてチェックを入れ、システムトレイアイコンを使うチェックボックスをクリックしてチェックを外し、状態パネルを隠すモード表示に変更、

f:id:sicklylife:20161027201820p:plain

画面右上のキーボードアイコンをクリック、再起動をクリックするとキーボードアイコンが非表示になる。

f:id:sicklylife:20161027201936p:plain

そして状態パネルとかいうものが表示される。

f:id:sicklylife:20161027202009p:plain

状態パネルはペンギンアイコンの所をドラッグすれば表示する場所を移動できる。
ぶっちゃけコレも割と目障りだが右上のアイコンが一斉にカクカク動くよりはマシ。

Ubuntu 16.10でインターネットに繋がらなくなるバグを何とかする

Ubuntu 16.10でもUbuntu 16.04の時と同じようにIPv6を無効化してみたのだが、それでもネットに繋がらなくなる症状が出たので何となくifconfigコマンドを打ってみたらIPv6が無効化されていなかった。どうも16.04の時のやり方では自動的にIPv6を無効化出来なくなったようなので、IPv6無効化の記事のコメント欄でgellcyさんに教えて頂いた方法を試してみることにした。
端末を起動して以下のコマンドを実行後、Ubuntuを再起動。

sudo sed -i s/dns=dnsmasq/#dns=dnsmasq/g /etc/NetworkManager/NetworkManager.conf 

この設定後、ネットに繋がらなくなる症状は出ていないのでバッチリ効果があったっぽい。
gellcyさん情報ありがとうございます。

関連:Ubuntu 16.04 LTSでIPv6を無効にする - Sickly Life Blog

Ubuntu 16.04用のUbuntu Tweak 0.8.8-2-sicklylife1を公開

Ubuntu Tweakの公式サイト消滅に伴い、Ubuntu Tweakのアプリボタンが機能しなくなっていたので、アプリボタンを非表示にしたバージョンを作成してみた。
ダウンロードは以下のページからどうぞ。

Ubuntu 16.04ではUbuntu Tweakのウィンドウを閉じてもプロセスが残ったままになっているバグがあり、システムモニターを使ってプロセスを終了する必要がある(放っておいても35MBほどメモリを喰われたままになるだけで大きな害は無いはず)。

Ubuntu 16.04でアップデートが出来ない不具合に対処する

Ubuntu 16.04で「ソフトウェアの更新」や「sudo apt-get update」などを実行すると、それらがフリーズしてCPU使用率が跳ね上がってしまう。

appstreamcliが暴走するバグらしい。一応Fix Releasedにはなっているがまだproposed(一般のユーザーがインストールできるようにはなっていない状態)なので、手動でアップデートする必要がある。

appstreamcliを強制終了するかUbuntuを再起動した後、端末を起動して以下のコマンドを実行する。

Ubuntuが64ビットの場合
cd /tmp/ 
wget https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb 
wget https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb 
sudo mv /etc/apt/apt.conf.d/50appstream /etc/apt/apt.conf.d/50appstream.disabled 
sudo dpkg -i *.deb 
sudo mv /etc/apt/apt.conf.d/50appstream.disabled /etc/apt/apt.conf.d/50appstream 

Ubuntuが32ビットの場合は未確認だけど以下でいけるはず。

Ubuntuが32ビットの場合
cd /tmp/ 
wget https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_i386.deb 
wget https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_i386.deb 
sudo mv /etc/apt/apt.conf.d/50appstream /etc/apt/apt.conf.d/50appstream.disabled 
sudo dpkg -i *.deb 
sudo mv /etc/apt/apt.conf.d/50appstream.disabled /etc/apt/apt.conf.d/50appstream 

これで「ソフトウェアの更新」や「sudo apt-get update」が正常に動作するようになる。

Ubuntu 16.04 LTSでIPv6を無効にする

バグなのか何なのかよく分からんのだけれども、たまにネットに繋がらなくなる事があり、どこかでIPv6を無効にするとネット接続が安定するとかいう事を読んだような気がしたので、IPv6を無効化してみた。
端末で以下のコマンドを実行するとIPv6が無効になる。

echo 'net.ipv6.conf.all.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf 
echo 'net.ipv6.conf.default.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf 
sudo sysctl -p 
sudo sh -c 'printf "#!/bin/sh\nsysctl -p\nexit 0\n" > /etc/init.d/sysctlp' 
sudo chmod +x /etc/init.d/sysctlp 
sudo update-rc.d sysctlp defaults 

上3つのコマンドでIPv6は無効になるのだが、Ubuntuを再起動すると元に戻ってしまうので /etc/init.d 以下にsysctlコマンドを実行するファイルを置いて、Ubuntu起動時にsysctlコマンドが実行されるようにしてみた。
これでしばらく様子見。
元の設定に戻す場合はこうする。

sudo sed -i '/net.ipv6.conf.all.disable_ipv6/d' /etc/sysctl.conf 
sudo sed -i '/net.ipv6.conf.default.disable_ipv6/d' /etc/sysctl.conf 
sudo update-rc.d sysctlp remove 
sudo rm /etc/init.d/sysctlp 

Ubuntu 16.04 に Eclipse Oxygen.1a (4.7.1a) をインストールして日本語化したのでメモ

※2017年11月3日、更新。

Eclipse IDE for Java EE Developers Oxygen.1a (4.7.1a) をインストールしてみた。EEじゃない方の普通のEclipseも以下の手順でOKなはず。また、確認は64bit環境で行ったが32bitでも同じ方法でいけるはず。

ダウンロード

公式サイトのダウンロードページ からLinux版を ~/Downloads にダウンロードし、日本語化に必要な Pleiades プラグイン の安定版も ~/Downloads にダウンロードする。

インストールする前に

旧バージョンのEclipseをインストール済みの場合はアンインストールしておく。

インストール

端末を起動し、

cd /opt/ 
sudo tar xavf ~/Downloads/eclipse-* 

と実行して /opt 以下にインストール。インストールと言っても単に圧縮ファイルを展開しただけ。
ファイルの展開が終了したら次のコマンドを実行して一度英語のままEclipseを起動する。

/opt/eclipse/eclipse 

ワークスペースの場所を聞かれるので「Launch」ボタンをクリックするとEclipseが起動する。Eclipseが正常に起動したらEclipseのタイトルバーの「✕」ボタンをクリックしてEclipseを終了する。
(一度英語のままEclipseを起動しないと日本語化した時に正常に起動しないかもしれない。)

日本語化

端末で以下を実行すれば日本語化される。

cd /opt/eclipse/ 
sudo unzip ~/Downloads/pleiades* 
echo '-Xverify:none' | sudo tee -a /opt/eclipse/eclipse.ini 
echo '-javaagent:/opt/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' | sudo tee -a /opt/eclipse/eclipse.ini 

Dashから起動できるようにアイコンを作成

そのままだと起動が面倒くさいのでDesktopファイルを作成してUnityのDashに表示されるようにする。
端末で以下を実行する。

echo '[Desktop Entry]'$'\n''Version=1.0'$'\n''Type=Application'$'\n''Name=Eclipse'$'\n''Name[ja]=Eclipse'$'\n''Comment=Eclipse is an integrated development environment (IDE)'$'\n''Comment[ja]=統合開発環境'$'\n''Keywords=Java;java;IDE'$'\n''Keywords[ja]=Java;java;IDE;統合開発環境'$'\n''Exec=/opt/eclipse/eclipse'$'\n''Icon=/opt/eclipse/icon.xpm'$'\n''Terminal=false'$'\n''Categories=Java;Development;IDE;'$'\n''MimeType=text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;'$'\n''StartupNotify=true'$'\n''StartupWMClass=Eclipse'$'\n''Actions=Clean;'$'\n'''$'\n''[Desktop Action Clean]'$'\n''Name=eclipse -clean'$'\n''Exec=/opt/eclipse/eclipse -clean'$'\n''OnlyShowIn=Unity;'$'\n' | sudo tee /usr/share/applications/eclipse.desktop 

これでUbuntu UnityのDashからEclipseを起動できるようになる。一応、ランチャーに登録した場合、右クリックから eclipse -clean 出来るようにしてある。DashにEclipseのアイコンが表示されない場合は一旦ログアウトしてログインし直す。

端末から起動したい場合

シンボリックリンクを作成しておく。

sudo ln -s /opt/eclipse/eclipse /usr/bin 

アンインストール

削除するだけでおk。

sudo rm -rf /opt/eclipse/ 
sudo rm /usr/share/applications/eclipse.desktop 
sudo rm /usr/bin/eclipse 



※以下は古い内容です。
※2016年5月7日、一部間違っていたので修正。

Eclipse IDE for Java EE Developers 4.5.2(Mars)をインストールしてみた。EEじゃない方の普通のEclipseも以下の手順でOK。また、確認は64bit環境で行ったが32bitでも同じ方法でいけるはず。

ダウンロード

公式サイトのダウンロードページ からLinux版を ~/Downloads にダウンロードし、日本語化に必要な Pleiades プラグイン の安定版も ~/Downloads にダウンロードする。

インストールする前に

旧バージョンのEclipseをインストール済みの場合はアンインストールしておく。

インストール

端末を起動し、

cd /opt/ 
sudo tar xavf ~/Downloads/eclipse-* 

と実行して /opt 以下にインストール。インストールと言っても単に圧縮ファイルを展開しただけ。
ファイルの展開が終了したら次のコマンドを実行して一度英語のままEclipseを起動する。

/opt/eclipse/eclipse 

ワークスペースの場所を聞かれるので「OK」ボタンをクリックするとEclipseが起動する。Eclipseが正常に起動したらEclipseのタイトルバーの「✕」ボタンをクリックしてEclipseを終了する。
(一度英語のままEclipseを起動しないと日本語化した時に正常に起動しない様子。)

日本語化

端末で以下を実行すれば日本語化される。

cd /opt/eclipse/ 
sudo unzip ~/Downloads/pleiades* 
sudo sed -i s/--launcher.appendVmargs/--launcher.GTK_version\\\n2\\\n--launcher.appendVmargs/g /opt/eclipse/eclipse.ini 
echo '-Xverify:none' | sudo tee -a /opt/eclipse/eclipse.ini 
echo '-javaagent:/opt/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' | sudo tee -a /opt/eclipse/eclipse.ini 

Dashから起動できるようにアイコンを作成

そのままだと起動が面倒くさいのでDesktopファイルを作成してUnityのDashに表示されるようにする。
端末で以下を実行する。

echo '[Desktop Entry]'$'\n''Version=1.0'$'\n''Type=Application'$'\n''Name=Eclipse'$'\n''Name[ja]=Eclipse'$'\n''Comment=Eclipse is an integrated development environment (IDE)'$'\n''Comment[ja]=統合開発環境'$'\n''Keywords=Java;java;IDE'$'\n''Keywords[ja]=Java;java;IDE;統合開発環境'$'\n''Exec=/opt/eclipse/eclipse'$'\n''Icon=/opt/eclipse/icon.xpm'$'\n''Terminal=false'$'\n''Categories=Java;Development;IDE;'$'\n''MimeType=text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;'$'\n''StartupNotify=true'$'\n''StartupWMClass=Eclipse'$'\n''Actions=Clean;'$'\n'''$'\n''[Desktop Action Clean]'$'\n''Name=eclipse -clean'$'\n''Exec=/opt/eclipse/eclipse -clean'$'\n''OnlyShowIn=Unity;'$'\n' | sudo tee /usr/share/applications/eclipse.desktop 

これでUbuntu UnityのDashからEclipseを起動できるようになる。一応、ランチャーに登録した場合、右クリックから eclipse -clean 出来るようにしてある。DashにEclipseのアイコンが表示されない場合は一旦ログアウトしてログインし直す。

端末から起動したい場合

シンボリックリンクを作成しておく。

sudo ln -s /opt/eclipse/eclipse /usr/bin 

アンインストール

削除するだけでおk。

sudo rm -rf /opt/eclipse/ 
sudo rm /usr/share/applications/eclipse.desktop 
sudo rm /usr/bin/eclipse