highlight.xcode

2018年4月30日月曜日

テキストエディタ「SciTE」の設定見直し



以前、エディタを「SciTE」に乗り換えた時に「User Options」の設定例を載せたんですが、バージョンが変わった為、それに合わせて設定を見直しました。デスクトップ環境を「MATE」に変更したせいかな?

特に困っていたのが、等幅フォントがズレる様になってしまった事で、その原因が設定方法に変更が加わった事に有り、以前の設定のままだと問題が出る、というものでした。

あと、検索ウィンドウ、置換ウィンドウが、ダイアログではなくなり、エディタ下部にドッキングされた形式に変わったんですが、設定でダイアログに戻せるので、それも変更しています。

メニュー「Options」->「Open User Options File」を開き、設定を変更します。
変更した所は赤字の部分です。
# 行番号の表示
line.margin.visible=1
line.margin.width=1+
margin.width=4

# 矩形選択時 改行より右にカーソルがいけるようにする
virtual.space=1

# 文字コード
character.set=128
code.page=65001
if PLAT_GTK
 LC_CTYPE=ja_JP.UTF-8
 output.code.page=65001

# フォント
technology=0
font.base=$(font.monospace)
font.small=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)

# タブの幅
tabsize=8
indent.size=8

# 空白文字の表示
view.whitespace=1

# 選択部分の色
selection.fore=#000000;
selection.back=#ffd700
selection.alpha=256
find.mark.indicator=style:roundbox,colour:#0080FF,under,outlinealpha:140,fillalpha:80

# 出力ウィンドウを横分割にする
split.vertical=0

# 終了時に折りたたみを保存する
session.folds=1

# 検索・置換はストリップでなくダイアログ
find.use.strip=false
replace.use.strip=false

ただし、すべてのオプションを見直した訳では無いので、上記の設定にもまだ間違いが存在する可能性が有ります。

2018年4月11日水曜日

Debian stretch もしかして腐ってる? 代理マシン編 その1



以前「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」にインストールした Debian stretch の調子が悪い…。

症状としては、突然再起動がかかる、気が付くと電源が落ちている、といった感じなのだが、一番の問題はログが残らないので、原因の特定が困難な事…。症状から察するにハードウェア関係、またはドライバ関係の問題っぽいのだが、マイナートラブルなのか、アップデートで問題が解消される訳でもなく、ネットで検索してみても話題にすらなって無いっぽい…。

という事で、余ってるマシンを代理マシンにする事にした。

今回のターゲットPCは「TOSHIBA dynabook EX/35LWHKS」というラップトップ PC。 構成としては「インテル Celeron プロセッサー 900」+「モバイル インテル GL40 Expressチップセット」、グラフィックは「モバイル インテル GMA 4500M」という感じ。

例によって Debian stretch は32bit(i386)版です。

で、タイトルの「Debian stretch もしかして腐ってる?」についてなんですが、今回のインストール中にも、突然ハングアップする、突然再起動する、といった症状が出てしまい、結局何回もインストールし直したり、設定を変えてみたりを繰り返すはめになった為、この様なタイトルになってしまいました…。

以下、素人なりの分析。
  1. 前回の「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」が Debian stretch インストール直後から調子が悪い。が、その直前までは Debian wheezy で問題無く使用出来ていた為、ハードウェアの不具合は考えにくい。
  2. ログも吐かずに突然再起動する、電源が切れるといった症状から、ハードウェア周りか、ドライバ周りの問題の可能性が高い。
  3. 今回の「TOSHIBA dynabook EX/35LWHKS」に Debian stretch をインストールしても、ハングアップする、突然再起動する、といった症状が出てしまったが、主にドライバの設定で回避できた。
結果、Debian stretch のドライバ周りは腐ってるっ!(※個人の感想です)


それと、前回のインストールではデスクトップ環境として「CINNAMON」を選択したんですが、今回は結局ハードウェアレンダリングを無効化しなければならなくなった為、デスクトップ環境とし「MATE」を選択する事にしました。ちなみに「メイト」と読むものだと思っていたら、「マテ」と読むのが正解でした…。

以下、インストールログです。
  1. PC に CD をセットして起動、インストールを開始する。
  2. 最初のメニューでグラフィカルインストールを選択。無事インストール開始。
  3. 言語は日本語、インストール対象は「Debian デスクトップ環境」、「MATE」、「標準システムユーティリティ」のみ。インストールが始まるのでしばらく待つ。
  4. インストールが完了すると CD が排出され、再起動するかと聞かれるので CD を回収し再起動。
  5. 再起動すると GRUB のメニューが表示され、デフォルトで先ほどインストールしたシステムが起動される。
  6. 起動ログが流れていき、ログイン画面が出るか、というタイミングでクラッシュ!
    画面が虹色モザイクというか何というか、表示が完全に崩れ、しかも何の操作も受け付けなくなりました。
    Ctrl + Alt + F1 等で他のコンソールに切り替える事も出来ません。
  7. 電源ボタンの長押しで再起動する…。
で、ここからの試行錯誤が非常に長かったんですが、先に結果だけ書き留めておきます。
  1. "/etc/X11/xorg.conf" ファイルを作り、グラフィックドライバの設定を変更する。
  2. グラフィックドライバは "intel" を指定。
  3. グラフィックドライバのオプション "NoAccel" を指定し、ハードウェアアクセラレーションをオフる。
  4. "/etc/default/grub" ファイルへカーネルパラメーターを追加し、"execlist" を無効化する。
これでやっとまともにログインし、デスクトップにたどり着けました…。

"xorg.conf" の作り方については「debian squeeze で xorg.conf が無い場合の対処法 | ラムダ算法書店」を参考にさせてもらいました。"intel" グラフィックドライバの設定等に関しては「Intel Graphics - ArchWiki」を参考にさせてもらいました。

特に「Intel Graphics - ArchWiki」は、"intel" グラフィックドライバに関して、色々な環境、いろいろなトラブルについて詳細に書かれており、大変参考になりました。その反面、膨大な情報の中から自分の環境に合った正解に辿り着くまでに、大変な時間を要しました。もちろん私の場合は解決に至ったので、大変感謝しています!


以下、個別の作業メモです。

通常通り起動してしまうとグラフィカルログイン前、またはログイン後に、クラッシュやフリーズをしてしまうので、"GRUB" メニューの "Advanced options for Debian GNU/Linux" -> "recovery mode" から、リカバリーモードに "root" でログインして作業を行います。
  1. コンソールが日本語に対応していない為、日本語メッセージが化けてしまうので、言語設定を英語にする。
  2. "Xorg -configure" コマンドで "/root/xorg.conf.new" ファイルを作成。
  3. "/root/xorg.conf.new" ファイルを、"/etc/X11/xorg.conf" へと移動、改名。
  4. "/etc/X11/xorg.conf" ファイルを編集し、グラフィックドライバの設定を変更。
  5. "/etc/default/grub" ファイルを編集し、カーネルパラメーターを追加。
  6. "update-grub2" コマンドで GRUB を更新。
  7. 再起動。
"/etc/X11/xorg.conf" ファイル編集までのコマンドです。
# export LANG=C
# Xorg -configure
# mv /root/xorg.conf.new /etc/X11/xorg.conf
# vi /etc/X11/xorg.conf
"/etc/X11/xorg.conf" ファイルの内容です。Identifier "Card0"、"Card1" と 2モード分のグラフィックデバイスの設定が有るので、ここに "NoAccel" オプションを追加します。
 (省略)
Section "Device"
 (省略)
 Identifier  "Card0"
 Driver      "intel"
 Option      "NoAccel" "True"
 BusID       "PCI:0:2:0"
 (省略)
EndSection

Section "Device"
 (省略)
 Identifier  "Card1"
 Driver      "intel"
 Option      "NoAccel" "True"
 BusID       "PCI:0:2:1"
 (省略)
EndSection
 (省略)
"/etc/default/grub" ファイルを編集します。
# vi /etc/default/grub
"/etc/default/grub" ファイルの内容です。"GRUB_CMDLINE_DEFAULT" へ "i915.enable_execlists=0" を追加し、"execlist" を無効化します。
(省略)
GRUB_CMDLINE_DEFAULT="quiet i915.enable_execlists=0"
(省略)
"update-grub2" コマンドで GRUB を更新し、再起動します。
# update-grub2
# reboot
無事、グラフィカルログインも成功し、デスクトップが表示されました!


今回の環境「TOSHIBA dynabook EX/35LWHKS」では、ハードウェアアクセラレーションの無効化、"execlist" の無効化で、なんとか使える環境まで持っていけました。その他ソフトウェアのインストールや、システムの移行が完了したら、「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」にも再挑戦しようと思っています。やっぱグラフィックドライバ周りが原因なのかなぁ…。