16 Jan 2018, 14:29

BIOS 初期化で PC起動しなくなった。原因はCSM設定

はじめに

Wake on Lan の設定をしようと思っていて、BIOSの設定をいろいろいじっていたのだけれども、よくわかんなくなってきたので、BIOS初期化をしたら、PCがBIOS画面から立ち上がらなくなった。

なん・・だと・・・??

Boot Device Not Found

いろいろ調べてみると、Boot Deviceがまったくなくなっているではないですか!

起動順序を入れ替え変えようにも、デバイスがないので、切り替えられない。試しに、USBを刺しこんでみると、USBを認識して表示はされるのだけれども、それをブートしようとはしない。

つんだ・・・。涙が出てきた。泣きじゃくった。と、そこへ!

CSMの設定という光が

どうも、CSMという設定を有効にするとよいという記事を見つけた。

引用しますと、

“UEFI BIOS“とは新しいBIOSの仕様。

以前の”レガシーBIOS”と比べると操作性の良さやセキュリティーの高さ、高速ブートなどの利点があります。

そんなUEFI BIOSですが、接続したCD・DVD・HDDドライブがBIOS上から認識しないというトラブルの相談をよく受け付けます。― 正確には、デバイスとして認識するものの、ブートディスク(起動ディスクのこと)として選択できないというトラブルです。

ということで、UEFI BIOSという新しいBIOSの使用が私の邪魔をしているようだ。

CSMとは

CSMとは Compatibility Supported Module の略です。つまり、レガシーなBIOS、レガシーな周辺機器やドライバ、レガシーなOSとの互換性を保つための設定。

ということで、これが有効になると、レガシーな部品との互換性が回復してつかえるようになる。なにが原因かわからないのだけれども、ブートローダあたりが壊れてしまったのだろうか?

とはいえ、無事に復旧することができました。めでたしめでたし。

03 Jan 2018, 06:47

Ubuntu で NVidia ドライバを使っている時の不具合

ドスパラでゲーミングPCガレリア(Galleria)を買ったのだけれども、 Ubuntu16.04をインストールしたら、解像度もへんてこだし、音も出ないしでいろいろ不具合がでた。PCのスペックは前記事の記事を参照。

いろいろ試してみたところ、どうもNVIDIAのドライバがインストールされていないからだった。

コンピュータの検索から、システム設定 > ソフトウェアとアップデートを選択。

追加のドライバータブを選択。NVidia CorporationからNVIDIA binary driverを選択。

これをインストールすれば、解像度もモニターに合うし、音も出る。誰かの助けになれば。

30 Sep 2017, 07:00

[CentOS] IntelliJ IDEA では ibus に不具合があり日本語入力できないのでfcitxをつかおう

はじめに

仕事でVirtualBox上にCentOSを立ち上げてそのなかにIntelliJ IDEAを入れたのだけれども、

なぜか日本語入力ができなかったので、その調査と解決方法について書く。

環境

  • CentOS 7.4
  • IBus 1.5.3
  • fcitx 4.2.8

結論

調べたら、IntelliJ IDEAで IBus 1.5.11 以前のバージョンは不具合があるそうだ。

こんなメッセージが起動時に出る。

IBus prior to 1.5.11 may cause input problems. See IDEA-78860 for details.

おそらく、Jetbeans製のPhpStormやPyCharmでもどうようかと。

stackoverflowの解決方法にしたがって、ibus の最新版をいれたのだがibusがそれでもうまく動かなかった。おかしいな。

fcitxをつかおう

Input Methodは ibusだけではない。fcitxがある!というわけで、ibusをアンインストールしてfcitxをインストールすることにした。

以下、インストール手順です。

参考にしたリンク

fcitxをインストール

$ sudo yum install epel-release
$ sudo yum install -y \
fcitx-data.noarch \
fcitx-devel.x86_64 \
fcitx-gtk2.x86_64 \
fcitx-gtk3.x86_64 \
fcitx-libs.x86_64 \
fcitx-pinyin.x86_64 \
fcitx-qt4.x86_64 \
fcitx-qt5-devel.x86_64 \
fcitx-qt5.x86_64 \
fcitx-qw.x86_64 \
fcitx-table.x86_64 \
fcitx-anthy.x86_64
fcitx.x86_64

$ wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/19/x86_64/fcitx-configtool-0.4.7-1.fc19.x86_64.rpm && sudo yum localinstall fcitx-configtool-0.4.7-1.fc19.x86_64.rpm

ibusの削除

$ sudo killall ibus-daemon
$ sudo yum remove ibus

fcitxをシステムのIMに設定

$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
$ imsettings-swich fcitx

~/.bashrcに追記

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

インライン入力を有効にする

これで一応はfcitxで IntelliJ IDEAが使えるようになったが、

入力すると、変換候補が下の方に出てきてしまう。インライン入力ができるように設定する。

  • fcitx -> 設定 -> アドオン
  • 拡張のチェックボックスをマーク
  • 検索窓からximを検索。Fcitx XIM Frontendを選択して設定を押す。
  • On The Spotを使うにチェックを入れ「OK」を押す

おわりに

解決方法に至るまでに6時間かかった。

ニッチなトラブルシューティングだけれども、同じように困っている人の助けになれば幸いです。

26 May 2017, 16:28

Emacs で conda.el をつかって環境が切り替えられない時の対処方法

Emacs で、anaconda 環境を切り替える便利な eLisp に conda.el というものがある。

しかし、これがどうもうまく動かなかったので調査してみた。

環境

  • fish shell 2.5.0
  • Emacs 25.1.2

事象

conda-env-activate を使うと、切り替わったよというメッセージはでるが、 実際は Anaconda の root を使っている。指定した環境を使ってくれない。

原因

PATH に何が設定されてるか調べてみると。 (getenv "PATH")

"/home/tsu-nera/anaconda3/envs/kaggles/bin:/home/tsu-nera/.rbenv/shims:/home/tsu-nera/anaconda3/bin:/home/tsu-nera/.cask/bin:/home/tsu-nera/bin:/home/tsu-nera/go/bin:/home/tsu-nera/.rbenv/bin:/home/tsu-nera/script/scala:/home/tsu-nera/script/ruby:/home/tsu-nera/script/sh:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin"

つまり、二つのパスが登録されている。

  1. /home/tsu-nera/anaconda3/envs/kaggle/bin
  2. /home/tsu-nera/anaconda3/bin

使いたいのは、1 のほうで2はいらない。

なぜかわからないが、Emacs を起動すると、PATH を自動で読み込んでくれるようなのだ。

こんな機能しらないぞ!exec-path-from-shell をつかって実現する機能ではなかったか? デフォルトで PATH を引き継ぐように仕様変更されたのか??

解決方法

fish shell の環境設定ファイル(自分の場合は env.fish に分けている)、 から、anaconda のパスを削除すると、Emacs で conda-activate をつかった切り替えができる。

しかし、これでは、ふだん conda コマンドが使えない。

そこで、fish shell にこんな関数を定義した。まず Emacs を立ち上げた上で、conda を有効にする。

# anaconda
function conda-activate
    set fish_user_paths $HOME/anaconda3/bin $fish_user_paths
end

一時しのぎだけれども、これで Emacs から conda で環境を切り替えることができるようになった。