4pkのLinuxメモ

Linux(主にGentoo Linux)に関するメモを書き残すブログです。

Let's note CF-○X系で音が出ないときの対処方法

CF-SX3に入れたGentooで長らく音が出なかったですが解決策が分かりました。

 

①alsactl

emerge alsa-tools

でalsactlコマンドを有効にし,

alsactl init

で,デバイスを認識させます。

 

②ヘッドセットの音量が0

alsamixer

で,スピーカーの音量ではなく,ヘッドセットの音量を上げます。

すると,スピーカーからも音が出るようになりました。

細かいことはわかりませんが,スピーカーの音がスピーカーの項目には全く依存せずにヘッドセットの音量に依存しているようです。

 

参考

Let's NoteにLinuxをインストールしたがスピーカーから音が出ない問題【解決!!】 - Qiita

 

 

mate-terminal-1.22.0のエラー対処

mate-terminalのemergeで下記のエラーが出た場合の対処法

 

libtool: link: x86_64-pc-linux-gnu-gcc -pthread -I/usr/include/vte-2.91 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/dconf -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -march=native -O2 -pipe -Wl,-O1 -o mate-terminal mate_terminal-eggshell.o mate_terminal-profile-editor.o mate_terminal-terminal.o mate_terminal-terminal-accels.o mate_terminal-terminal-app.o mate_terminal-terminal-close-button.o mate_terminal-terminal-debug.o mate_terminal-terminal-encoding.o mate_terminal-terminal-info-bar.o mate_terminal-terminal-options.o mate_terminal-terminal-profile.o mate_terminal-terminal-screen.o mate_terminal-terminal-screen-container.o mate_terminal-terminal-search-dialog.o mate_terminal-terminal-tab-label.o mate_terminal-terminal-tabs-menu.o mate_terminal-terminal-util.o mate_terminal-terminal-window.o mate_terminal-skey-popup.o mate_terminal-eggdesktopfile.o mate_terminal-eggsmclient.o mate_terminal-eggsmclient-xsmp.o mate_terminal-terminal-marshal.o mate_terminal-terminal-type-builtins.o -pthread -lICE -Wl,--as-needed skey/.libs/libskey.a -lvte-2.91 -lz -lpcre2-8 -lgnutls -lgthread-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -ldconf -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lX11 -lSM -pthread
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64/libgnutls.so: undefined reference to `_idn2_punycode_decode@IDN2_0.0.0'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:674: mate-terminal] Error 1
make[4]: Leaving directory '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0/src'
make[3]: *** [Makefile:1146: all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0/src'
make[2]: *** [Makefile:585: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0/src'
make[1]: *** [Makefile:653: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0'
make: *** [Makefile:463: all] Error 2
* ERROR: x11-terms/mate-terminal-1.22.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=x11-terms/mate-terminal-1.22.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=x11-terms/mate-terminal-1.22.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/temp/environment'.
* Working directory: '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0'
* S: '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0'

>>> Failed to emerge x11-terms/mate-terminal-1.22.0, Log file:

>>> '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/temp/build.log'

* Messages for package x11-terms/mate-terminal-1.22.0:

* ERROR: x11-terms/mate-terminal-1.22.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=x11-terms/mate-terminal-1.22.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=x11-terms/mate-terminal-1.22.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/temp/environment'.
* Working directory: '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0'
* S: '/var/tmp/portage/x11-terms/mate-terminal-1.22.0/work/mate-terminal-1.22.0'

 

 

gnutlsを更新する。

emerge guntls

 

参考

https://forums.gentoo.org/viewtopic-t-1094572-start-0.html

SSDなどの情報を見るツール

皆さんご存知かと思いますが,メモとして。

emerge smartmontools

sudo smartctl -a /dev/sda

などのコマンドでディスクの状態を確認できます。

smartが無効になっている場合もあるので,その場合は

sudo smartctl -s on /dev/sda

などで有効にしましょう。

 

出力結果例(SanDiskの128GBのSSD),

=== START OF INFORMATION SECTION ===
Device Model: SanDisk SSD PLUS 120 GB
Serial Number: 180208801748
LU WWN Device Id: 5 001b44 8b61ae577
Firmware Version: UE3600RL
User Capacity: 120,040,980,480 bytes [120 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun Apr 14 10:35:11 2019 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 32) The self-test routine was interrupted
by the host with a hard or soft reset.
Total time to complete Offline
data collection: ( 120) seconds.
Offline data collection
capabilities: (0x15) SMART execute Offline immediate.
No Auto Offline data collection support.
Abort Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 21) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 153
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 97
165 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 76
166 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 2
167 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
168 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 6
169 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 68
170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
173 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 2
174 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 52
184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 --- Old_age Always - 0
194 Temperature_Celsius 0x0022 081 042 000 Old_age Always - 19 (Min/Max 8/42)
199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0
230 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 90196934677
232 Available_Reservd_Space 0x0033 100 100 005 Pre-fail Always - 100
233 Media_Wearout_Indicator 0x0032 100 100 --- Old_age Always - 152
234 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 425
241 Total_LBAs_Written 0x0030 100 100 000 Old_age Offline - 180
242 Total_LBAs_Read 0x0030 100 100 000 Old_age Offline - 82
244 Unknown_Attribute 0x0032 000 100 --- Old_age Always - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]

Selective Self-tests/Logging not supported

 

232に注目します。これがSSDの寿命を表す書き込みの総量です。

0x0033のあとの数字が現在のパラメーターを表します。

1つ目の数字が現在のパラメーター

2つ目の数字が過去を含めた最低のパラメーター

3つ目の数字は,上記2つの数字がこれ以下になると故障という閾値です

 

このSSDはせいべからもらったMBPのHDDからSSDへ入れ替えるために当時高いにも関わらずヨドバシで買いました。

しばらくMBPで使っていましたが,せいべからもらったMBPはバッテリーと本体の接続部分がておくれていてケーブルから直接給電しないと動かないため,今記事を書いているレッツノートに途中で移植しました。

SSDをそのまま移植したので,特に損失はしておらずまだまだ寿命は100%あるらしい。当たり前だけど。

SSDのメーカーや種類によってsmartで取れる情報が変わります。

サンディスクは分かりやすく出力するようにしてくれるようです。

手元にあったMicronのやつは分かりにくかったです。

同じようにHDDでも健康状態を見ることができます。

ちなみに,昔なんばで買った2008年製の250GBで600円のジャンクHDDは意外と良い健康状態でした。ジャンク品最高や。

逆にオークションで落としたPCに入っていた一見サラに見えるHDDは半分以下にすり減っている状態でした。

普通逆じゃね?って思ったけど,見てみないとわからないですね。

 

自分がこの手のことに詳しいわけでもないですが,備忘録として残しておきます。

 

最近買ったマシンの紹介

何もネタが書ける状況じゃないですが,最近色々マシンを買ってしまったので買ったマシンを紹介します。

 

Dell venue pro 10(10.1インチ)

こいつを買ったのが諸悪の根源だった

UEFIがBootさせるために32bitしか対応してなくて,Linuxを立ち上げるだけで苦労しています。

ネットのレビューを見てみると性能の割には良い感じらしく,いじれるようになったらそこそこ良いかもしれません。

これ以降財布の紐が緩んでマシンを続けて買ってしまうハメになります。

 

②hp EliteBook 2170p(11.6インチ)

このマシンは,友人のマシンが壊れたので安くて使えそうなのをということで仕入れました。

corei5-3427U,メモリ8GB,SSD240GBの構成で15000円以下で用意することができました。

また,このマシンはUEFIの設定が充実しているし,分解するのもねじを2本外すだけでスマフォを外すような感覚で分解できてカスタマイズしやすくて良かったです。

Linuxやるならおすすめかも(Linux入れてアレしたわけではないが)

 

Asus ChromeBook C300MA(13.3インチ)

なんか送料込み5000円で買えたのでぽちってしまった。。

このマシンは初期ロットだとキーボードが壊れやすく,4と5の反応が悪くーのキーがなくなっています。

バッテリーはそんなにへたっているわけではなさそうで,キーボードさえ直せば普通に使えそうです。

どこまでいじるか迷いますが,BIOSをいじって純粋にLinuxをbootできるようにするところまでやろうかなぁと考えています。

USキーボードなのに,JAキーボードを買ってしまってキーボードを部分的にしか換装できねえと今悩んでいるところです。

キーの中にあるゴムと樹脂の取り付け部品さえ付ければ壊れたキーを直すのはできそうだが果たして。。

 

 

まだ課題が残っているマシンが多くある中で更に追加でマシンを買ってしまって,積読とか積みゲーと同じような状況になっている。

謎マシンおじさん達にそろそろ何も言えなくなってきたなぁ。

Gentoo LinuxでNVIDIAのグラボを使ってディスプレイに出力するトラブル例

NVIDIAやnouveauというワードを皆さんもご存知かと思います。

どちらもLinuxにおいて非常によくうまく動作に失敗することが多く,とりあえず最初にGUIを立ち上げる場合はvesaを使うなどが一般的になっています。

私のメインマシンであるHP420のQuadroK2000をちゃんと使えるようにするために詰まったところのメモを書きます。

 

問題:failed to initialized the NVIDIA kernel module

というエラーが出て,GUIが立ち上がらない

 

課題1:何も考えずにやると,CUIの画面をnouveauとして認識する。

以前,Gentooを使ってたときは,CUIでは画面を1つしか認識せずにXを起動すると2画面を認識するようになっていましたが,nouveauで認識することでCUIの時点で2画面認識することがあります。ところが,これをよしとするのが罠でした。

カーネルがnouveauのモジュールをロードすることによって,NVIDIAのモジュールを競合のせいでロードできなくなる場合があります。

そうなると,GUINVIDIAで立ち上げることができなくなるため非常にパフォーマンスんの悪い状態で無理やり立ち上がったり,立ち上がらなくなったりします。

課題2:nouveauだけでいこうとしてもうまくいかない

NVIDIAは邪悪だ,CUIでもちゃん認識してるnouveauを信じよう。

これも間違いです。

どちらかというと邪悪なのはnouveauです。こいつだけは絶対に信用してはいけません。

無理やりxorg.confを書き換えてnouveauだけでGUIを立ち上げたら640x480の画面が出来上がりました。ほんまきつい。

課題3:NVIDIAが先に立ち上がるnouveauに負ける

問題1を解決せずにいるとnouveauを先に読み込んだ影響でNVIDIAと競合してしまうためGUIを起動することができません。

カーネルの起動パラメーターにnouveauを切るような設定を読み込んだり,個別にnouveauのモジュールをブラックリストに入れるなどの対応を行う必要があります。

 

今回やったこと

/etc/default/grubの例のところに

nouveau.modeset=0

を追記

あとは,wikiの手順に従って,

sudo nvidia-xconfig

eselect opengl set nvidia

で再起動

 

make.confとかはそこまで関係なかったようです。

一応元々普通に動いてたのですでに設定済みなだけかもしれません。

カーネルを更新するタイミングで設定がうまくいかなくなってGUIがまともに使えない事態に陥っただけなので。

 

NVIDIAは無理だ,諦めよう”

というのは絶対に勿体無いので諦めないでください!!

mate-applets-1.20.3のビルドが通らない件

mate-applets-1.20.3のemergeをcompile phaseでwarningが出ていて,

undefined reference to `cpupower_is_cpu_online'

という文言が出る場合

emerge cpupowerでライブラリを更新することで解決できる。

画面の明るさ変更を可能にするカーネルパラメーター

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor acpi_osi="

を追加する。

前者を追加することで画面の明るさを変更できるようになる。

後者を追加することで色々設定が変わる。=の先を変えることでsuspendの有効や無効などハードウェアのコントロールまわりの設定が変わる。

詳しくは,どこかに一覧があったけどURLを忘れてしまった。。

=の先を何もなしにしているのにもちゃんと意味がある。