カテゴリー: 環境構築

Windows11でWSLを入れた。

Windows11のインストール

インストール中にTPMチェックをレジストリで無効にすれば古いマシンにでもWindows11がインストール出来ると知り、無謀にもdynabook R732/Fという第3世代Core i5マシンへの導入を試みる(`・ω・´)

あれ(´・ω・`)?

特に何もせずにインストール出来た?
もしかするとWindows Insider Programに参加していたからかな?
まあよくわからないが普通にインストール出来て動いたわw
結局のところ、元々はただの21H2かなんかだもんな。

ちなみにいつも通り、一回目のWindows Update後に起動しなくなった…(ヽ'ω`)
再インストールして数日間経ってから累積更新プログラムを当てたら、特に問題なく起動するようになった。

内容が修正されたのか、うちのマシンの問題なのか知らないが、これはうちのR732/Fではよくあることなので、余り気にしない(ノ∀`)


WSLのインストール

故あってWordPressのページ等を触る必要が生じたので、仮想環境を入れることにしたが、VMWareもVirtualBoxも改めて入れるのは面倒くさいなと思い、WSLの利用を思い立つ。

WSLは仮想環境じゃないけど、WordPressの挙動等を確かめるだけなら、別に問題はないしな(`・ω・´)

なんて甘く考えていたけど、なんか色々と紆余曲折があった。
きっちりとエントリ化するのは面倒くさいのでダイジェストの覚書で。

結論から言うと、WSL のインストールにある通り、

wsl --install

でインストール出来たのだが、そこに至るまでなんかハマった(´・ω・`)

  1. よくわからないが文字化けする。
    Windows PowerShell ISEで実行したのだが、よくわからないエラーが出ているようだった…
    いや、もしかするとインストールに成功していたのかもしれないが、メッセージが文字化けしていた為に何がどうなってるかわからなかったw
  2. ぐぐって見つけた文字化け回避方法を試すも上手く行かない。
    Powershellの実行権限も変えてみても上手く行かない…
  3. よくよく見たら、Powershell用の文字化け回避方法だった(ノ∀`)
    PowerShell起動時、文字コードをUTF-8に変える方法
    Powershellの文字化けを直す方法

    Windows PowerShell ISEは取れる引数も違うようなので、取り敢えずPowershellの方で作業を実行。インストール後に再起動したんだったかな?

  4. インストールに成功し、ユーザーを追加したけれども、なんか通らないコマンドが沢山出てくる(´・ω・`)?

    どうもsystemdがPID1じゃないのが問題らしい。
    Windows 10 or 11 Home(WSL2)のUbuntuでsystemctlを利用する方法(systemdをPID1で動作させる方法)

  5. 上記のサイトの方法でなんとか無事にSystemdをPIDで起動させることは出来たが、ここでもいくつかつまづいた…(ヽ'ω`)

    接続状況が悪かったせいか、一発目の

    sudo apt install -y daemonize dbus dotnet-runtime-5.0 gawk libc6 libstdc++6 policykit-1 systemd systemd-container
    

    ではエラーが出た。

  6. 次のdotnet-runtime-5.0のインストール後に上記のコマンドを再度実行したら、上手く行った…ような……

    そもそもなんでdotnet-runtime-5.0を2回インストールするんだろうか?

    ※2回目に試していたらなんかやり方を間違えたのか、dotnet-runtime-5.0がUnable to locate package dotnet-runtime-5.0になってしまった(´・ω・`)

    Ubuntu に .NET SDK または .NET ランタイムをインストールするの20.04のとこのランタイムのインストールのとこの"aspnetcore"を"dotnet"にしたら入ったみたい…

    sudo apt-get update;
    sudo apt-get install -y apt-transport-https &&  sudo apt-get update && sudo apt-get install -y dotnet-runtime-5.0
    
  7. wsl-transdebianのリポジトリ設定でまたまたはまる(´・ω・`)

    毎回調べて、毎回忘れるヒアドキュメントちゃん(´・ω・`)
    まあこれ自体が問題ではなかった。
    知ると便利なヒアドキュメント

  8. まあ、見たらわかると思うんですが sudo の効果はリダイレクトまでは有効にならないご様子

    sudoしてもリダイレクトで権限のないファイルに書き込めない時の対処法
    ということらしいので、

    sudo -s
    

    してからコマンド実行したら上手く行った。

  9. その後も再起動してなくて、なんか変な感じになったりしたけれども、再起動したりして続けたら何とか上手く行って、ubuntuでのコマンドでも不具合がなくなった。

リンク先の途中に出てくるlsb_releaseはディストリビューションのバージョン確認コマンドか。
Ubuntu Version確認からディストリビューションのメモ


まあなんやかんやでWSLをインストールしてubuntuが使えるようになった模様(・∀・)


尚、WordPressを入れて、テーマを変えて、それに付随するプラグインを入れたらWordPressが起動しなくなった…(ヽ'ω`)

wp-config.phpでデバッグをONにしようとしたら文字化け状態…(ヽ'ω`)
単純にデバッグをONにするだけでいいのだけれども一応ぐぐる。

取り敢えず治った(`・ω・´)
【WSL2】Ubuntu 20.04 で日本語を表示したい


WordPressとプラグインを入れてなんかおかしくなったので、WSLを再インストールしてやり直した…(ヽ'ω`)

やっぱり仮想環境でやったほうがええんかな…

最近、適当にやって、色々やらかしたミスや雑多な作業の記録(ノ∀`)

各項目、がっつりと掘れば、エントリ化の意義も出てこなくもないが、そこまで興味がなかったり、面倒くさいので、適当な羅列と雑記で済ます(ノ∀`)

そのまま忘却の彼方に追いやるのも悪くはないが、雑多なことと軽んじて記録しておかないと後で苦労することが多いのでw


  • セマンティックの観点からブログ内のタグの書き換えをしようと思う( ゜σ・゚)ホジホジ 意味はよくわかっていない。
     
    => "Search Regex"プラグインで<hr/>とか<br/>の最後のスラッシュを取り除いたり、<strong>を<b>に書き換えた。
  • php7.2だと古いとかどうとか言うメッセージが出ていたので、適当にPHPの新しいのを入れようとする( ゜σ・゚)ホジホジ
     
    => なんか知らんけどPHP8.0が入る。
  • なんかよくわからないが、WordPressがエラーで表示されなくなる…(ヽ'ω`)
     
    => "WP Multibyte"プラグインでエラーが起きてるみたいだが、以前の方法ではエラーが解決しない。 よくわからないので取り敢えず"WP Multibyte"プラグインを削除して、何も見なかったことにする。
  • 何も考えなしにGCP上にUbuntuを18.04 LTSから20.04 LTSにアップグレードをしてしまう( ゜σ・゚)ホジホジ
     
    => 気のせいか、なんかサーバのレスポンスが悪くなった気がする…(ノ∀`)
    お金がなくて最低スペックで運用してるのがいけないんだけどもw
  • 久しくバックアップを取っていなかったので、"BackWPup"プラグインで適当にバックアップを取ろうとする( ゜σ・゚)ホジホジ
     
    => プラグインがフリーズしてしまい、致し方なく、GCPでリブートする。
  • リブート後、復旧したかに見えたがアクセスに著しく時間がかかるようになり、ほとんど実用に耐えなくなる…(ヽ'ω`)

    サーバというよりもネットワークに問題が発生しているような感じだった。
     
    => 一応、文字データのバックアップは取ってあったものの、「もう、このブログは閉じて、Googleサイトとかで何とかしようかな…(´・ω・`)」と言う気になってくる。駄目元でリブートではなく、インスタンスを停止して、ちょっと経ってから起動し直す。
     
    => よくわからないが復活キタ━━ヽ( ゚∀゚)ノヽ(゚∀゚ )ノ━━ !!!!!
     
    => 尚もバックアップを取ろうとしてまたフリーズして同じ手順を繰り返したりする(ノ∀`)

    最終的に"BackWPup"プラグインを削除した後に、何故か上手く行ったバックアップが残っていたみたいだったのでダウンロードする。念の為、画像ファイル等も手動でダウンロードする。

  • ちょっと前に古いArrowsタブレットをセットアップし直したが、ユーザー名もパスワードも秘密の質問も忘れてしまい、お手上げになる ∩( ・ω・)∩ バンジャーイ
     
    => しょうがないので20H2のイメージでリカバリしようとするも上手く行かず…_| ̄|○
     
    => 古いタブレットPCだと8GB以下のUSBメモリでないとリカバリ出来ない場合があるとかいう情報を見て絶望するガ━━(゚Д゚;)━━━ン!! うちには16GB以上のUSBメモリしかなかった…
     
    => 8GBのUSBメモリは安いけれども、無駄金は出せない状況で21H1がリリースが近いということで取り敢えず放置する。
     
    => ようやく21H1がリリースされたので、駄目元で16GBのUSBメモリにイメージをダウンロードしようとする。
     
    => その段になって、ようやく持っているArrowsタブレットが32bit CPUであることを思い出す(ノ∀`)

    32bit/64bit両用でセットアップ用USBメモリを作成して、クリーンインストールを無事に終わらせた。本当はメインPCもクリーンインストールをそろそろしたいけれども…

  • そう言えばなんでWordpressのクラシックエディタって、bボタンを押すと<strong>タグが挿入されるんじゃろうかと悩む(´・ω・`)
     
    => 自分で変更したのかなと思ったのだが、何処で変更したのかが思い出せない……デフォルトでもそうじゃなくてもいいから、とにかくボタンをカスタマイズしたくなる。

    => プラグインもあったが、取り敢えずfunction.phpに直接入れる方法でカスタマイズした。スタイルやクラスを最初から指定したタグや、一連のタグをそのままボタン登録出来て便利だな、これ(・∀・)
    【WordPress】投稿する時に便利!h2,h3,br,p等の基本タグをボタン1つで挿入できるようにしよう


Linkedinラーニングの「Androidアプリ開発基本講座:Kotlinで初めてのアプリを作る」の動画を観る。

うーん(´・ω・`)
まあ以下にメモ書きの羅列をベースに、感想的なものを残す。


AndroidXってJetpackのことだったのか Σ(゚∀゚;)
つーか元々のサポートライブラリのことか Σ(゚∀゚;) ← 余りにもAndroidから離れていて隔世の感が酷いw

フォントサイズの設定で、うちの環境では34spしか出て来ない。なぜ36spがないんだろうか?


jcenter()絡みでエラーが出た。
build.gradleのrepositoriesから除去すればいいんか。
jcenter, bintray 廃止で自分のAndroidアプリに対応したことのメモ

インテントでアクティビティにアクションを送る
ぼーっと観ていたら、いきなり変更後のコードになってる?
もしかして動画を一本くらい見逃しちゃったのか、俺(´・ω・`)?

取り敢えずダウンロードしておいた完成プロジェクトからactivity_main.xml,activity_detail.xml,string.xmlの内容をコピペして、
drawable02から04のwebpファイルをdrawableフォルダにコピペした。

MainActivity.ktでのimageView絡みのコードを削除。

monster01で補完が出ない…?

"kotlinx.android.synthetic.main.activity_main.*"でsyntheticが解決出来ないみたい(´・ω・`)

ぐぐったら、

Android Studio 4.1を用いているなら、build.gradle(Module:<プロジェクト名>.app)に記述の追加が必要です。
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
kotlinxが未解決の参照になってしまう

とあった。

ここに至る手順で俺氏が飛ばしてしまったのか、バージョン4.21なのが原因なのか不明だが、取り敢えず追加してみた。

って、pluginsに一番下の"id 'kotlin-android-extensions'"を追加すればいいのか。

でもエラーのまんま…(´・ω・`)

ああ、単純にビルドすれば解決されるわけじゃないのか。
Gradle Syncがどうとか…

右上辺りにある象さんがパオーンしてるアイコンをクリックしたら解決したわ(・∀・)
Android StudioでGradle syncボタンが見つからない


いきなりメモ帳かなんかから文字列を共有するのは観ている人間にはわからんだろw

メモ帳系はインストールしてなかったので、入れてたGoogle Keepに"Monster03"とか入力して、共有で自分の作ってるアプリを選択すると無事DetailActivityに文字列で指定したモンスターが表示された。

動画系で技術的な部分の説明を丁寧にしない/できないのは百歩譲って良いかもしれないが、何の脈絡もなく、手順をかっ飛ばしちゃうのは酷すぎだろw

どのくらいのレベルの人に対して、どのくらいのレベルの内容を教えたいのかがわからんw

例えば俺氏みたいにJavaでAndroidプラグラミングの触りくらいまでをやっている人ならば何とか対応できるけど、そうでない人には( ゚Д゚)ポカーンだし、対応できる人ならば、この講座の内容は余りにも初歩的で物足りないというか時間の無駄に近いw

どうも元は海外の人の作ったものを翻訳というか流用しているみたいだが、元もこのレベルの内容なんだろうか…(ヽ'ω`) 


色々言いたいことはあるが…うーんw
取り敢えず環境構築のところでMacとWinの両方の説明してるのは良心的であったとは思う。

ただ、はっきりと言えることは、この動画ではkotlinの説明らしい説明は大してしてないw

確かにkotlinで初めてのアプリを作ってると言えば作ってると言えなくもないが、動画の大半はAndroid Studioの環境構築や説明であり、作成したものはアプリと言えるレベルのものではないw

何はともあれLinkedinラーニングは購読キャンセルした。
キャンセルを忘れて課金されても困るし(ノ∀`)オカネナイ
Linkedinのアカウントも特に使い道はないので、そのうち消してしまうかもしれない…


最近動画の講座を観始めて思ったが、巣ごもりDXステップ講座情報ナビでもそうだったが、環境構築の部分と言語や機械学習の説明の部分が分離されていないのはどうかなと思った。

プログラミング学習とは明確に分離された、最低でも2大プラットフォームをカバーした環境構築・使用法講座を新設し適宜更新し続けるべきだと思う。出来れば各講座共通のものとして。

それをしないと、各企業の講座で同じような環境構築の内容を入れて全体が長くなりすぎてしまったり、長さは変わらないが本編である内容の説明が疎かになったり、或いは中途半端な環境構築の内容(Win/Macの片方しか説明しない、内容が古い、使用するツールが異なる・存在しなくなっている等)が配信されたりする現状が続いてしまい、それらはあらゆる学習者を疲弊損耗させる障壁として聳え続けることになるだろう(´・ω・`)


取り敢えず動画系はひとまずやめて、ごっぐるのhttps://developer.android.com/codelabs/のkotlinのやつをやり始めた。初心者向けコースから始めたので、今のところ、基本的な内容でアレである。

でもなんか知らんけど、無茶苦茶ログインに時間がかかって中々先に進めない(´・ω・`)
うちのネットワークが遅いからなのかな?

テストの解答を送信してもエラーになる。
なんじゃこりゃ(´・ω・`)

と思ったらAM8:00近くになったら急につながるようになった。
メンテナンスとかしてたのか、あるいは他の国のユーザー達のせいで重かったのか…?
でもやっぱりまた重たくなったような…

まあどうでもいいや(ノ∀`)

Call to undefined function mb_convert_kana()

GCPに移行してから

エントリの検索をすると「サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。」みたいなエラー画面が表示されて検索結果を取得できない状態になっていた。

移行とドメイン移管は済ませてあるから放って置いていいかなと思っていたが、ちょろっと調べて直した。


WP_DEBUG

何はともあれ、何のエラーが発生しているのかを確認するためにデバッグモードを有効にせねばと思ったがやり方を忘れてた(ノ∀`)
wp-config.phpで

define( 'WP_DEBUG', true );

か。


wp-multibyte-patch

Fatal error: Uncaught Error: Call to undefined function mb_convert_kana() in /var/www/wpbl/wp-content/plugins/wp-multibyte-patch/ext/ja/class.php:147

ということなのでプラグインの「WP Multibyte Patch」が原因か(´・ω・`)

取り敢えず、プラグインページで停止しようとするも「サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。」画面になったので、数日前に使用したWP-CLIを使用してプラグインをdeactivateする。

これで検索は出来るようになったので、もうこれでいいか(・∀・)と思ったが、折角なのでもう少し調べるw


mb_convert_kana()

詰まるところ、php-mbstringが入っていないのが問題だった模様。

sudo apt install php-mbstring
sudo service apache2 restart

とかしたら、「WP Multibyte Patch」を動かしたままでも、検索が出来るようになった。

インストール後に何かしないといけないのかと思ったが、そんなこともなく。

php -i | grep mbstring

してみたら、何行かphp.iniに設定が追加されていた。
自動でやってくれたのだろう、多分。
ちなみにインストール前には一行くらいしか該当行("Multibyte decoding support using mbstring => disabled")がなかった。

参考:
[PHP] mb_convert_kana() / mb_convert_encoding() などが使えずエラーが発生する時の対処法
php環境構築時に入れ忘れてコケるやーつ…。


何はともあれ一応解決したみたいではある(・∀・)

取り敢えず、SSL化出来た模様(´・ω・`)

SSL化

だがしかし、具体的に何がどうなったらSSL化なのか、全く内容を理解していない(ノ∀`)

参考にしたエントリの「certbotのインストール」をやったらSSL化出来てしまったようなので「WordPressのSSL化」の方はやってないけど、やらないと駄目なのかしら(´・ω・`)?

一応、WordPressの「一般設定」の[WordPress アドレス (URL)]と[サイトアドレス (URL)]の値の頭を"https://"にしたけど、これも必要なのか必要じゃないか不明(ノ∀`)

「証明書の自動更新」もやったけど、きちんと動くかどうかは不明(ノ∀`)
数ヶ月後にSSLじゃなくなったら、またやり直す方向でw


なんかおかしい(´・ω・`)

うちのブログ、今では一日100もアクセスがない日がほとんどなのに一日2円くらいの課金が発生している(´・ω・`) 5日くらい前にこっちに移しただけなのに
「Network Internet Egress from Americas to Americas」で"1.7 gibibyte"になってる…

インストール後の色んな作業でネットワークトラフィックを浪費しちゃったのかしら(´・ω・`)?

それとも今まで適当にサイズを小さくせずに貼っていた画像達が問題なのか…
まあ一日2円くらいなら、良いは良いんだけども(´・ω・`)ソレクライナラハラエマス