ubuntu 20.04で、デフォルトのサウンドの出力先を固定する
二番煎じの記事。
ubuntuにはPulseAudioというサウンドサーバーがあり、
設定ファイルなどで様々な設定が可能。
再起動したときに、毎回 settings から出力先を変えないといけないのが面倒だったので、デフォルトを変えられないか試行錯誤した。
ぶっちゃけるとここの手順をなぞっただけ。
pacmd list-sinks
コマンドを叩いて、state が RUNING になっているデバイスの名前を
/etc/pulse/default.pa で
set-default-sink [デバイスの名前]
このように書いてあげるだけ。
sink とは音声出力先のことらしい。(要確認)
Linuxはほとんどに設定ファイルが存在しているのが使いやすいところ。
そして、やはりArchWikiは偉大。
次はxrandrでディスプレイの自動設定とかやってみたい。
シェルについて、まだまだ知らないことがあるという話
シェルに知らない機能はもう無い。そう思ってる時期が僕にもありました。
この記事読んでて、
# ブランチがmasterならば branch="$(git symbolic-ref HEAD 2>/dev/null)" || "$(git describe --contains --all HEAD)" if [ "${branch##refs/heads/}" = "master" ]; then # コミット履歴があるならばmasterへのCommitはfail # コミット履歴がないならばmasterへのFirst Commitだけは許す git rev-list --max-parents=0 HEAD > /dev/null 2>&1 if [ "$?" = "0" ]; then echo "Do not commit on the master branch!" exit 1 fi fi
上記のプログラムが出てきたので、${branch##refs/heads}
てなんや?と思ったら
変数展開時に文字列の操作ができるらしい。正規表現も使えるぽいからこれは便利。
git hooks とかdockerfileとかもそうだけど、いろんな書き方やコマンドが使われてるので、おまじないだと思わずに逐一調べていくと知識や表現の幅が広がるなと感じました。
まだまだ道は長い。
【vscode】C/C++ extension でエラーメッセージのみ日本語で表示されるのを解決した話
vscodeの言語設定は英語にしている。
メニューバーも当然英語。
環境変数LANGもen_us。
なのに、C/C++拡張コンパイルのエラーのみ日本語で表示されてとてもウザい。
なぜかというと、日本語エラーメッセージでググっても情報が出てこないので役に立たないから。
他の言語ではこういうことが起きなかったので、拡張機能の問題と断定しました。
ちなみに環境はUbuntuで、
localctlで表示されるSystem Localeだけはja_JP.UTF-8になってます。
【解決した方法】
~/.vscode/extensions/ms-vscode.cpptools-1.4.0-insiders2/bin/messages/ja
を削除し、vscodeをリロードする。
要するに、拡張機能が使っているエラーメッセージの言語パックを削除するという方法です。
どの言語パックを使用するか?という設定があれば良いのですが、findとgrepで探しまくっても出てこなかったので削除しました。どうせ日本語に戻すことは無いだろうし。
ネットで探せど探せどこの方法は出てきませんでした。
日本語などローカルな言語に関係する問題はマイナーなのであまり上がってこないのかもしれません。
WSL 2 press any key to continue と表示され、何かキーを押すとWSLが終了してしまう問題
問題
今朝久々にWSL2を動かそうとしたら
https://github.com/microsoft/WSL/issues/5166
上記のページと同じ不具合になった。
(press any key to continue ... で何かキーを押すとWSL2が終了してしまう)
解決策
wsl2 linux kernelのアップグレードで解決した。
(後から調べたら、このページで解決策として紹介されてました)
https://qiita.com/jun_summer/items/7950f93d65a0757ea7df
他に試したこと
・PCの再起動
・lxssサービスマネージャの再起動(タスクマネージャのサービス管理ツールより)
(参考)https://qiita.com/h084/items/f59d75dd33678feb3fbf
・windows上のsocket接続のリセット(管理者権限で、powershellでnetsh winsock resetを実行)
・wslのsocket不具合の解消、exeファイルの実行(原理がいまいちわかりませんでしたが、、、)
https://github.com/microsoft/WSL/issues/4177#issuecomment-597736482
【どろろ】和風アニメの大傑作
どろろ、本当にすばらしい作品でした。
2019年は ワンパンマン、盾の勇者、かぐや様、Dr.STONEと、個人的名作の揃う年でしたが、「どろろ」もそれに並ぶ傑作でした。
この記事はネタバレを含みます。
和風アニメーションの超傑作
脚本、作画、音楽(それとどろろ萌え)が素晴らしいアニメでした。
「どろろ」の素晴らしさは、そのシナリオにあります。
化け物を倒して体を取り戻す旅に出るというわかりやすいスタート地点でありながら、
その出自が明らかになるにつれ、自分の体を取り戻すことが一国を滅ぼすことと等価になることがわかる。
その不安定なジレンマにどうやって答えを出していくのか、というところが
この作品の大きなテーマであり、私もどのようなラストになるのか
予想がつかず、最後まで釘付けになりました。
百鬼丸とどろろの成長
また、体を取り戻すことは人間としての感性を取り戻すことに等しく、
当初は戦闘狂だった百鬼丸も徐々に人間らしく成長していきます。
この成長の仕方は他のアニメでは類を見ません。
もちろん、どろろの存在も大きいです。
普通の人間としての視点から旅をお供する仲間という意味合いが当初は大きかったように思いますが、
どろろもまた出自が明らかになり、百鬼丸と共に戦乱に翻弄される人々の悲惨さを経験して、おっかちゃんとおとうちゃんが何を自分に託したのか、
その答えと意義を見つけ、百鬼丸や人を導く重要人物になります。
まあ、タイトルが「どろろ」なので当然と言えばそうですが、
どろろにも重い過去や背景をもたせることでとても分厚い作品に感じられました。
戦乱の惨状を力強く生きる民
こういう時代のアニメで大体主人公になるのは武将であったり忍者であったりということが多く、友情・努力・勝利などポジティブな面にフォーカスされることが多いように感じますが、
「どろろ」でフォーカスが当たるのは戦乱や災厄に翻弄させる弱い民たちでした。
非常に残酷な描写も多く報われない胸糞展開も多々ありましたが、
思うにそのような行いが過去の日本でも当然のように行われていたのでしょう。
(当時の人々が絶望の淵を懸命に生き、未来につなげたからこそ今の我々の豊かな暮らしがあるのかなあ、という風に想ったりもしました。)
こういう生々しくつらい描写があるからこそ、
和風アニメとしての暗鬱とした雰囲気の完成度は非常に高く、
当時の世界にタイムスリップしたような気分で、ハラハラとしたストーリーに最後まで心をえぐられました。
どろろ萌え
真面目な話が続きましたけど、惨い話でも見続けられたのは間違いなくショタコン大歓喜のどろろちゃんのおかげです。
しかも実は女の子っていう設定付き。ロリコンも歓喜で思わず拍手。
手塚治虫先生はヲタの性癖がよくわかっていらっしゃるのね。((
いやぁしかしどろろがかわいいのなんの。
声優が演技派という感じではなく、
初心な感じが出ているのもまた良いチョイス。
表情豊かで、ところどころでアニメーションがよく動く、
無邪気で殊勝で優しくて芯が強くて子供らしく照れたりもして。
しかも大人の女性になってましたね。
本当に、どろろはかわいいですね。
制作スタジオのみなさま、あなた方にはお礼を言いたい。
無限スペック琵琶丸
この作品の中でも狂言回しのような立場の琵琶丸さんですが、
百鬼丸と同様に盲目ですがめっちゃカッコいい渋いおじさんです。
出自も正体も最後まで謎な人物でしたが、ときにどろろ達を助けたり、
諭したり、などと最初から最後までちらほら、神出鬼没の琵琶丸。
琵琶に仕込んだ刀で、怪物を一刀両断するシーンもありましたね。
百鬼丸は怪物と戦う時になんだかんだ怪我したりしてますが、
琵琶丸は危なかったシーンがひとつもありませんでした(笑
1話 産婆を食った怪物を一刀両断し百鬼丸誕生の生き証人になる
5話 音によって苦戦していた百鬼丸をよそに怪物を一刀両断
20話 溺れそうなどろろを仕込み刀で的確に岩を破壊し救出、
24話 湿地帯がぬかるんで上手く歩けない縫の方お母さんの杖になる
(↑いや、ふつう盲人が導かれる側なんだけど、、、)
24話 百鬼丸とどろろの二人を縄一本で、たった一人で引き上げる
まさに無限スペック琵琶丸。
めっちゃカッコよくてしびれました。
このキャラがいることで「どろろ」の和テイストに磨きがかかって、
作品の魅力も上がった気がします。
母の答え
閑話休題。
百鬼丸を救って国を滅ぼすか、
国を救うために百鬼丸を滅ぼすか、
なんだかトロッコ問題みたいですね。
百鬼丸にとっては、自分の体を取り戻すことにそれ以上の理由はいりません。
しかし、多宝丸にとっても一人の犠牲で済むのなら国を救うべきだということも
また正義なのでしょう。
どちらかしか選択できないんだろうと私も最後まで考えていましたが、
縫の方お母さんは
「何者かに頼って築く平安は脆い。それが骨身にしみてわかりました。この十数年続いた我が国の繁栄、それは百鬼丸ただ一人の犠牲でもたらされたもの。わたくしたちは親に餌を貰う雛鳥のようなもの。ただ口を開けて喰らっていたに過ぎませぬ。自らの手で掴まなかったものは、守ることもまたできない。」
先述のトロッコ問題は、百鬼丸ただ一人の犠牲がいつのまにか前提となっていました。
そのスタート地点そのものが間違っていた。
戦乱に翻弄され、不遇を嘆く民も結局は侍になんとかしてもらうことしか考えていなかった。
鬼神と手を結び、百鬼丸をどうにかすることでしか国の繁栄は望めないと考えていた。
誰かに頼る平安は脆い。
ならば、自分たちで、地面をはいつくばってでも、百鬼丸のように望みを手に入れようとする、どろろ達の決意が見えた瞬間は熱かったですね。
まとめ
百鬼丸は全然喋らない、特に必殺技もないしキャラtierとかもない、わかりやすい特長をもったキャラクターもそんなにいない、
そんな作品なのにすごく歯ごたえがあって本当に面白かった。
どろろ萌えや刀アクションなど大味な魅力もありつつ、重厚なストーリーにも本当に魅せられました。
メディアミックスを意識した作品では決してありませんが、緻密なシナリオや和テイストの音楽・作画にこだわりを振り切ることで芸術性の高い作品に仕上がっています。
【転スラ】リムル様がかわいかった件
転スラの感想を残しておきます!
ちなみに、マルタに行った友達から聞きましたが、そこでは転スラが人気だったそうです。世界的なシェアを持つなら見るしかない!
というわけで、都合よくAbemaで期間限定公開していたので、一気見させていただきました。
この記事は少しネタバレを含みます。
ヴェルドラがネタキャラクターな件
最初の展開は予想外で、ヴェルドラがツンデレ娘のような繊細な性格で
結構笑えました。見た目のギャップがスゴイ。
最終話ではイフリートと仲良く将棋をやっててただの気のいいドラゴンでした。
リムル様が中性的でかわいい件
リムルは岡咲美保さんの声がすごく馴染んでいました。
スライムの時もぷるんぷるんしている感じが伝わってくる。かわいい。
そしてシズさんを食った後の姿はなんとも中性的。かわいい。
(背徳感を)そそるぜこれは。
ていうかスライムだから性別とかないのかな。中身はおっさんのまんまみたいだけど。
見た目は強そうじゃないけど自信たっぷりで余裕の立ち振る舞い。
見ていて気持ちがいい。
中性的なキャラっていいですよね。
他のアニメで言うと、七つの大罪のゴーセル、
メイドインアビスのマルルク、俺ガイルの戸塚、
マギのアラジンみたいなかわいい男の子(娘)はやっぱりいいね((
↑ 、、、大丈夫に、見えるか?
基本的にストレスフリーな件
基本的に俺TUEEE系に分類されるアニメかと思います。
ほとんどのことは順風満帆で、まあ安心して見れました。
(親父を殺されたランガも一瞬でリムル様の部下になるし、
シズさんを食ったあとも、エレンら旅人一行はリムルに対して
ほとんど疑いの目を向けることもなく、
順風満帆すぎかとは思いましたが、まあいっか!)
ていうかあの世界のみんな性格が良いね。
強いていうならガビルの取り巻きがストレスフルでした。
まあ最終的には従順な部下になって良かったです。
先生になったリムル様がカッコいい件
リムルが教えていた子供たちは今後物語のキーマンになるような気がしてます。
みんな無邪気でスゴイいい子でした。
この子たちも十分強いですが、それを圧倒するリムル様の大人げなさが見ていて好き。
主人公の師匠が強いアニメって燃えますが、主人公が強い師匠になるっていうのも
結構俺的に燃える展開でした。戦う先生っていいよね。
(あと普通に生徒がロリかわe(ry
他のキャラクターも可愛い件
この日高里菜さん演じる魔王ミリム様、かわいい。
おバカお転婆元気系無邪気ロリで最強と色々詰め込んだミリム様。
これだけの要素があって魅力的にならないわけがない。
敵にすると最悪の相手ですが、今のところリムル一行との関係は超良好で
リグルドがやられたときは代わりに怒ってくれる仲間想いな一面も。
今後魔国連邦での切り札になるんでしょうかね。
ところで日高里菜さんと言えば、SAOのシリカ、盾の勇者のフィーロなどが
いますが、ロリ成分が絶妙に天使ですね(魔王だけど((
OPではものすごく強そうな見た目をしていたラミリスですが、
ちっこい精霊の王様でした。もぐもぐシーンが萌える。
総評した件
異世界系は飽和しているとか言われますがやっぱり面白いですね。
参考までに、筆者が知っている中で他の似たようなベクトルの異世界系と比較すると、
オバロとは違ってゼロから仲間を獲得しあっという間に文明が発達する別の意味での痛快さ、盾の勇者やリゼロと違ってストレスフリーで見られる安心感が特長です。
主人公がスライムというところで斬新でしたが、ゴブリンやドラゴン、
オークやリザードマン、オーガやドライアド、ドワーフやエルフなど
色んな多種族を巻き込み、国を大きくし世界に影響を与えるという
スケールの大きさも魅力的でした。
変な話、十大魔王のうちアニメではまだ5人ほどしか登場してませんし、
また、最後に出てきた強そうな女性が誰なのか、
シズさんの教え子たちはどのように今後ストーリーに絡んでくるのか。
あと担ぎ上げられた英雄ヨウムはこの先どう絡んでくるのか。
最後の最後まで出てこなかったヴェルドラはいつ出てくるのか??
ほどよく伏線も張られつつ、ストーリーもわかりやすいしスケールも大きい。
そして細かいところまで設定がしっかりしてる良作でした。
転スラ世界の世界地図とか眺めててどんな敵が出てくるのか、いろいろ妄想するだけで楽しいっすね。これだからやっぱファンタジーは良い。
次期の予告がハードコアな件
次期の予告を見ましたが、劇場版か?!と思えるぐらいな内容でしたw
正直1期の転スラを見る限り、基本リムル様最強で順風満帆なイージーモードな感じで、盾の勇者やリゼロと比べるとかなり安心して見れる内容でした。
予告を見ると2期は今よりもハードコアな展開になりそうで楽しみです。
今の時点でミリムという自分より強い魔王が出てきてしまってるので、
今後は俺TUEEEではなく組織力で攻略していく展開になるのかな?
そうなったらすごく面白そう。
VS code remote wslでc++の実行環境を整える
公式のドキュメントはこちらから。
公式とはちょっと違うやり方でしたが、なんかできたのでこちらの環境でやったことを備忘録として記録しておきます。
環境はWSL2でdistributionはUbuntu 18.04 LTSです。
①とりあえずvs code remote developmentの導入後、 C/C++ の拡張機能を導入
②wsl側で
sudo apt update
sudo apt install g++
のコマンドを実行
③こちらはオプションです。拡張機能のcoderunnerを入れているので、同じものを入れている人は参考になるかもしれません。
Shift + Ctrl + P でsetting.jsonを開き、
"code-runner.executorMap": { "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", ........以下略 },
の記述を書き込む。
以上③までで環境によってはもう実行できると思います。
ちなみに俺は実行まではできたけど、VS codeのエディタ上ではエラーを吐いていました。(以下続く)
④
#include <iostream>
のところでなぜかライブラリをインクルードできないと怒られた。
どうやらインクルードパスを設定しなければならないらしい。
そこで、c++のヘッダファイルの場所を調べることに。
以下のstackoverflowに書いてありました。
どうやら /usr/include/c++/7.5.0/ 以下に標準ライブラリのヘッダファイルが格納されているみたい。
(俺の場合はg++ 7.5.0だったので、上記の/usr/include/c++/7.5.0/
の階層にありました。各々のバージョンによって異なると思うので、
g++ --version
のコマンドを実行して適宜確かめてください。)
VS codeで Shift + Ctrl + P を押して C/C++ : edit configrations
を入力し、選択する(UIでもjsonでも可)
UIで設定する場合、
このような設定項目があるはずなので、以上のように記述すればヘッダーがインクルードされないよーというエラーは消えた。
jsonで設定する場合は
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64", "browse": { "path": [ "/usr/include/c++/7.5.0/" ] } } ], "version": 4 }
以上のようにする。
"path": [ "/usr/include/c++/7.5.0/" ]
のpathのなかに/usr/include/c++/7.5.0/
を追加すればオーケー。