ここでは blog.osyoyu.com で稼働していた歴代 WordPress ブログの記事を集め、アーカイブしています。
パソコンを使っていて困ったときにするべきこと10選
パソコンを使っていると困ったことがよく起こりますよね。自分も昨日ちょっと困ったことがありましたがこの方法で解決しました!
- 日本語でググる。
- 英語でググる。
- OSを再インストールする。問題の99%ぐらいは解決します。
- Yahoo! 知恵袋などに「OSを再インストールしましたが解決しません」と添えて投稿する。
皆さんもこの方法で楽しいパソコンライフを送りましよう!
ThinkPad X240 の ClickPad と TouchPoint の設定をいじって使いやすくする
だいたい ClickPad の話なので、5ボタンタッチパッドが搭載されてる ThinkPad (T440 とか T440s とか T440p とか) にも適用できる……かも。
X240のここがクソポイント
- TrackPoint 用のクリックボタンが廃止されて、その代わり上端部分がクリックできる ClickPad が搭載された
- ClickPad で思ったように左クリックも右クリックもできない
- これは ClickPad そのもののせいじゃないけど、センターボタンホールド + TrackPoint でのスクロールができない
- ClickPad は普通のタッチパッドとしても使えるがために TrackPoint でポインティングしてるつもりが手の平に ClickPad があたってポインターがブレる
- クリックボタンが死んでいるということは TouchPoint を使った操作はまともにできない
悲しいですね。僕は ThinkPad USB Keyboard を常に持ち歩き、ThinkPad につなげるという運用でカバーしていました。慣れればどうということはない。
……が、電車の中でも ThinkPad USB KeyBoard をつないで作業するのはちょっと辛かったりするので、真面目に対処します。
環境と目指す姿
- 環境はみんな大好き Arch Linux (KDE)
- 要は旧来の TrackPoint + TrackPoint 用のクリックボタンだけ、みたいな形にできたら嬉しい
- ついでにセンターボタンをスクロールだけではなく中クリックとしても使えるようにする (実はWindows用ドライバーではできない)
- ClickPad のタップによるクリックは無効、ポインティングにも一切使用しない
作業
素の evdev だと TrackPoint + センターボタン でスクロール、というのができないので AUR から xf86-input-evdev-trackpoint を引っ張ってきます。
/etc/X11/xorg.conf/90-evdev-trackpoint.conf
重要なのは8行目と11行目だけ。
Option "SoftButtonAreas" "65% 0 0 0 50% 64% 0 0"
は最初の4つが右クリックの領域(左から左右上下の境界, 0は端まで)で、後ろの4つが中クリックの領域(同左)です。
物理的な配置と逆の順番になっています。
この場合、X軸方向の50-64%の領域は中クリック、X軸方向の65%より右の領域は右クリックになっています。
上下の境界は中・右クリックともに 0 を指定しているため、一番上から下までクリック可能です。
Option "TouchpadOff" "1"
は ClickPad のタップによるクリックとスクロールを完全に無効化するオプション(押し込んでクリックは有効)。
TrackPoint の感度と速度の設定
あとでかく
Linux でノートパソコンのフタを開いた時にスリープから復帰しないようにする
ノートパソコンをスリープにしたつもりで数時間持ち歩いて、次に開いた時は本体が激熱、バッテリーが残り5%みたいな事象、たまによくあって非常に厄介ですよね。
あれはなにかのきっかけで勝手にスリープから戻ってしまっていて、バッテリーが残り5%になった時に電源管理がまたスリープにしてくれてる、という感じだと思っていたので、電源ボタンを押したとき以外は一切スリープから戻らないようにします。
acpid とかが必要かもしれない。それと Arch Linux / KDE な ThinkPad X240 でしか検証してない。
だいたい使えそうな方法
/proc/acpi/wakeup
を見てみると
Device S-state Status Sysfs node LID S4 *enabled SLPB S3 *enabled IGBE S4 *enabled pci:0000:00:19.0 EXP2 S4 *disabled pci:0000:00:1c.1 XHCI S3 *enabled pci:0000:00:14.0 EHC1 S3 *enabled pci:0000:00:1d.0
こんな感じのイカニモなリストが出てくる。今回の目的は LID ただそれだけ、なのでそれを書き換えてやる。
書き換えかたは root で
echo LID > /proc/acpi/wakeup
ってやってあげると LID の Status がトグルされる。実行結果は
Device S-state Status Sysfs node LID S4 *disabled SLPB S3 *disabled IGBE S4 *disabled pci:0000:00:19.0 EXP2 S4 *disabled pci:0000:00:1c.1 XHCI S3 *disabled pci:0000:00:14.0 EHC1 S3 *enabled pci:0000:00:1d.0
なぜか LID 以外もほとんど disabled になってしまった。理由は分からん。
多分これでうまく行くはず。
XHCI / EHCI は USB まわりの何かだった気がするけど、SLP8, IGBE, EXP2 は見たことも聞いたこともないのでご存知の方教えてください……。
あなたが systemd を溺愛している場合に使えそうな方法
systemd はなんでもできるからね。
この方法に関しては GNOME とか KDE みたいなマシマシWMを使ってる場合はそいつらが systemd の電源管理を “inhibit” して、無効にしてるらしい、ので使えないらしい。
Power Management – ArchWiki に2行ぐらい書いてる。
/etc/systemd/logind.conf
の中で
HandleLidSwitch=ignore
にして、systemd-logind を restart するだけ。自分の環境では効かなかった。
下の方に LidSwitchIgnoreInhibited
がコメントアウトされていたが、こちらも特に効果はなかった。
rEFInd がコケて EFI Boot できなかった
mkfs.vfat
mkfs.fat -F32
カレーを作れた
カレーを作れた。curryingではない。カレーだ。
カレーと言えば小学校のキャンプで作るような簡単な料理だという記憶があるので、カレールーの裏に書いてあるレシピを見て挑戦することにした。
まあ簡単だろうし。ね?
起承転
ことは論理的4日前で物理的4日前の7/7、日付が変わってからの時間に遡る。
神だから今からカレー作る
— おしょーゆ (@0x_osyoyu) July 6, 2014
肉がないから肉なしカレーだ
— おしょーゆ (@0x_osyoyu) July 6, 2014
心意気やよし、やる気全開だ。カレー作ったことないけど頑張るぞ。
カレーを煮込み始めた
— おしょーゆ (@0x_osyoyu) July 6, 2014
冷静に考えてあの時間からカレー作り始めたの間違ってる
— おしょーゆ (@0x_osyoyu) July 6, 2014
カレー最高(まだ食べられない)
— おしょーゆ (@0x_osyoyu) July 6, 2014
この時、おしょーゆは20分後に訪れる悲劇のことは知る由もなく、レシピ通り20分間鍋に火をかけてれば良い感じになると思い、キッチンから離れだらだらSkypeで通話していた。
現実は厳しい。
カレー作れなかった……
— おしょーゆ (@0x_osyoyu) July 6, 2014
果たして何が起こったのか。そう、煮込みを強火でしていたのだ。料理をほとんどしたことがないおしょーゆは煮込みは弱火でやるものだと露知らず、グツグツ煮えたぎり、猛烈な勢いで湯気を吐き出す鍋を気に留めることもなく高校の友人との通話を楽しんでいたのである。
レシピに示された20分後――。おしょーゆを迎えたのは、セットしてもいないキッチンタイマーの音ではなく、ガスコンロの高温警報であった。
いや待てよ、なんでお湯が入ってるのに警報がなるほど高温になるんだ……? そう思いながら鍋をのぞき込むと、そこにはあるはずのお湯はなく、じゃがいもが黒くなっていて、人参が焦げ、タマネギに至ってはもはや原型をとどめていない、文字通りの地獄が待ち受けていたのであった。
数十分前は美味しい野菜たっぷりのカレー作るぜーって言ってたのに、カレーは水分が全部飛んで食材が丸焦げになり、今はとりあえずつけ麺茹でてる……
— おしょーゆ (@0x_osyoyu) July 6, 2014
カレーがかかるはずだったご飯を食べてる
— おしょーゆ (@0x_osyoyu) July 6, 2014
アロエちゃんは多分カレー作るとき焦がして失敗するから似てる
— おしょーゆ (@0x_osyoyu) July 6, 2014
結
というわけでカレーに再挑戦した。
カレーできました pic.twitter.com/8ImATyFi4B
— おしょーゆ (@0x_osyoyu) July 10, 2014
CTF for Beginners #ctf4b に参加しました + Write-up
第1回 CTF for Beginners に参加してきました。新しく学べたことが非常に多く、有意義な感じで Very Happy です。
こんな良いイベントにタダで出れていいのか。
まあ長々と書いてもアレですし、多分他の人が書いてくれているので3行でまとめます。
- Binary ほとんど知らなかったのでとても良かった。x86読めるようになりたいよね
- Network の話も Wireshark の色々な filter とかを駆使して怪しいデータを探し出す、みたいな話で興奮した
- Web はとてもワクワクする話だった。Blind SQLi は全く知らない話だったし、1bitの情報しか得られないのにパスワードを文字列長を割り出す + 1文字ずつ前方一致で判定することで reveal 出来る、というのが最高に面白かった
小学生並みの感想ですね。たくさんの情報が詰まっている講義資料を頂けたのが個人的には非常に嬉しかったです。
ところで講義(?)が終わったあとは総まとめとして50分のCTF体験会があって、こんな結果になりました。6位です。
#ctf4b 簡易CTF修了です。参加された皆様お疲れ様でした! pic.twitter.com/9ZACuuOBFD
— SECCON CTF (@secconctf) June 28, 2014
この先は雑な Write-Up があるので、来週の第2回 CTF for Beginners に参加する人にはネタバレになってしまうかもしれません。
続きを読む
Vimとセキュキャンの応募用紙、それとVimの話 #seccamp
セキュリティ・キャンプ2014 Webセキュリティクラスに応募したことと Vim の話です。
応募したことと Vim の話なので、応募用紙の内容の話ではないです。
続きを読む
ThinkPad X240 で 64 bit guest を使う
ThinkPad X240 に VirtualBox を突っ込んだら Guest Types のリストに (x86) しか現れなかったので。
このX240はカスタマイズして i7-4600u なので、VT-xもVT-dも対応してるのに、デフォでは両方とも無効な模様。残念すぎる。
UEFI の設定画面で Security > Virtualization で設定項目を両方 Enabled にする。おわり。
#tkbctf3 Writeup
5/4 12:00 – 5/5 06:00 (JST) 開催の #tkbctf3 に参加してました。tkbctfは初めて……どころか、CTFに参加すること自体初めてなので、@shaman_univ と @sadi_gear と (めんどくさいチーム名で) チームを組んで以来 ksnctf でちょこちょこ練習してました。
昼間は所用で出かけていて、実際にコンテストページを開いたのが20時ぐらい、といった調子だったのですが、途中から @KOBA789 先生が参加してくれたことで一気に加速、最終的に1203pts.で7位になりました。
15-Puzzle (Misc 250)
ひと通り問題を見て(うへぇ……これトータル0点あるかも……)って思ったので、とりあえず15パズルを解くだけの全く頭を使わない問題を解くことにした。
はじめに拾ってきたソルバーが A* で探索するもので、遅すぎたので IDA* で探してくれるソルバーを見つけて、解かせた。
が、結局FLAGを得るまでに30分ぐらいかかってしまって非常につらかった……。どうせ大した数の問題は出てこないと踏んで、telnetと整形ツールとソルバーの間を全く自動化せずに、繰り返しコピペしたせいで数回入力ミスで死んでしまった。さらに、拾ってきたソルバーがクセモノで、手数が増えてくると15%ぐらいの確率(体感)で最短でない解を出してきてしまうので、そこでも何度か死んでしまった。最後の問題で死んでしまった時は泣きたくなった(自動化しろ)
最後の問題でWrong Answer.が返された時のスクショ
まあそんな感じ。つらかったけど実際は何もしてない。
miocat (Web 250)
tkbctf.com
, http://tkbctf.com
を渡した時に出てくる結果が全然違うぞウワーッって思ってたら、数十分前に参加した @KOBA789 がディレクトリトラバーサルができることを発見し、Miocat.exe を落としたりしてた。自分としては ls の結果が見たいなー、ということで http://../../ls|
とかを渡したりしてたけど、PerlでもRubyでも無いことを思い出し断念。
その後 @KOBA789 が .bash_history
を読めることに気づいて、「面白すぎる」とか言ってた、が、 /etc/passwd
を編集してるhistoryがあることには気づかなかったようで、そっちのほうが面白かった。
/etc/passwd
を覗くと
miocat:x:1001:1001:Miocat,,,Read /home/miocat/flag:/home/miocat:/bin/bash
という感じでいかにも /home/miocat/flag を見てくれ! という感じのアレがあったので http://../../../home/miocat/flag
を引っ張ってきておしまい。
それにしてもmiocat、何をするWebアプリケーションだったんだ……。
game (Binary 500)
クイズの方は Q. Appolo 11 landed in this site と Q. With much “Gravity”, this young fellow of Trinity became the Lucasian Professor of Mathematics in 1669 はいろいろ試したが通らなかった。問題は quizXX (だっけ?) を相対パスで呼び出してるなー、というところまでは気づいたが、だからといって flag が読めるわけでもないし、できることはなかった。
まとめ
15-Puzzleは拾ったソルバーに手動で問題を食わせただけだし、miocatは人の成果に乗っかっただけなので人権がない。が、CTF初参加でも楽しめたし、いろんな問題を解ける能力がほしいのでがんばります。おしまい。