Category: 日記

Ubuntuで戦国ランスをやりたい!(Virtual Boxのインストール編)

最近もずっと頭痛に悩まされているRockinwoolです。口腔カンジタのようなものにも罹患し、あまり体調が良くない状況が続いていてハゲそうです。そんな私は自宅のメインPC(Ubuntu)をTVに繋いで作業をしているのですが、妻より「久しぶりに戦国ランスとかやりたい」と言われてしまいました。そうなると、Windows用ソフトである戦国ランスをUbuntu上で動作させるために何らかの工夫が必要です。ということで、今回はUbuntu上にWindows環境を動作させるためにVirtualBoxを使って行こうと思います。VirtualBoxとはなんぞや?という方のために簡単に説明させていただきますと、こいつはPC上に仮想的にPCを用意するソフトになります。この仮想的なPCの事を通称Virtual Machine, 略してVMと呼びます。VM上には好きなOSを載せることができるので、Ubuntu上にVMを用意→その上にWindowsを動作させるのを目的に今回はやっていきます。 Virtual Boxのダウンロードとインストール VirtualBoxのダウンロード方法はQiitaやRedditなどにたくさん書いてありますが、すべて嘘です。(というのは言い過ぎかもしれないですが、信じていい情報ではありません。)というのも、かなり古い情報や今は推奨されていないQt4を要求するものだったりするからです。自分はQt6が最新であることを偶然知っていたため、これらの情報を鵜呑みにせずに済みました。そういうことで今回はまず、Oracle公式サイトからdebパッケージをダウンロードして、インストールすることにしました。やっぱり開発元のサイトに行って、自分で調べてからインストールするのが一番安全ですね。ダウンロードあとは保存先に移動して、下記コマンドを入力してインストールします。dpkgだとQt6などの依存ライブラリを持っていない場合に失敗するので、依存ライブラリごとインストールしてくれるapt-getを推奨します。 sudo apt-get install ./virtualbox…… Windowsのディスクイメージをダウンロードする VirtualBoxをインストールできたら、次はWindowsを準備します。通常Windowsは購入時にCDが付属で付いてきて、その中にディスクイメージが入っていると思います。しかし、今回は購入時点からUbuntuを入れて使ってきたPCであるためディスクイメージはありません。「ここで詰んだか・・」と一瞬思いましたが、調べてみるとWindowsのディスクイメージもWindows公式サイトからダウンロードできることが判明しました。マイクロソフトもなかなかやりますね! Windowsのプロダクトキーについて さて、VirtualBoxとWindowsディスクイメージの2つが揃ったら、あとはVirtualboxでVMを作成して、その中にWindowsをインストールするだけです。このあたりの作業はUbuntuでもWindowsでも大差ないので割愛します。ただ、今回は独自のエラーにも遭遇しました。Windowsのインストール時にWindowsのプロダクトキーを持っていないと駄目と言われてしまい、これ以上進めなくなる現象です。当然プロダクトキーなんてものは持っていないため、本当に詰んだ状況になりかけました。しかし、今Ubuntu機として使っているサブノートPCはかつてWindows機だったため、プロダクトキーを持っている可能性があります。ここで、Windows公式のFAQを見てみると、一般小売業者からWindows込みPCを購入した場合は、PCにプロダクトキーが書いてあるとのこと!これによって、以前の記事でUbuntuを入れて復活させたノートPCに貼ってある、前世のWindowsプロダクトキーが判明したため事なきを得ました。 Windowsに登録されている電話番号!? さて、上記の問題を解決したあとに、もう一つ困った状況に遭遇しました。Windowsに登録されている電話番号について聞かれ、答えないと進めないのです。登録した電話番号なんてものはなく、自分のスマホの電話番号を入れてみても全然うまくいかず、ついに詰んだか・・・と思いきや。Skypeの名前でも良いようなので、入れてみるとうまく行きました。大学時代に、少し陽キャになるように頑張ってSkypeを入れた自分を評価したいですね。(年代バレしそう) ここまでのまとめ そういうことで、いろいろ問題がありましたがUbuntu上にWindows実行環境を入れることに成功しました。次回がありましたら、その上で戦国ランスをやっている画像でもアップしたいと思います。ここまで読んでいただいてありがとうございました。

WordPressのカスタマイズ@2023.04.10

こんにちは。RockinWoolです。WordPressでサイトを運営する上で、日々気になるのが閲覧数。これを効率良く上昇させるためには、デザインを良くする必要があると考えています。今回は大胆にサイトを更新しましたので、その一部始終をまとめました。 メニューバーを追加 今回のサイト更新は、「メニューバーを作りたい」という目的がありました。旧デザインでは投稿記事が増えるにつれて、本当に知りたい情報にアクセスしにくくなります。例えば、上図のように技術日誌と環境構築記事を分ければ、特定のソフトウェアインストールを知りたい方などが早く記事にたどり着けるかなと考えました。 外観→メニューが見つからない 一般的なサイトではWordPressの管理画面にて、外観→メニューとたどることによってメニューが設定できると説明があります。しかし、私のWordPressの画面では外観→メニューというのが出てきません。回答としては、サイトのデザインテーマによってはメニューが出てこないものがあるということのようです。今回は下記のNewsWayというテーマを採用することによって、デザインを一新しつつメニューを追加することに成功しました。また、完全に追加ですがTwitterとの連携も行いました。 目次の追加 Qiitaのような技術ブログの中には、説明の目次があらかじめ上部に用意されているものがあります。自分のブログでも同じことをしたくなり調査した結果、Table of contents plusという拡張で自動的に可能であることがわかりました。 https://www.conoha.jp/lets-wp/wp-tableofcontents/ バックアップ 前回の記事でも書きましたが、WordPressのテーマや投稿記事、プラグイン等をすべてバックアップするAll-in-One WP Migrationを見つけました。管理画面のプラグイン追加からすぐに取り入れることができるので、説明は割愛します。それにしてもWordPressのプラグインはとても便利なものが多いですね。 リンク切れの検出 こちらもBroken Link Checkerという拡張を入れるだけですぐ実現できます。ブログ作成者としてはメンテコストが上がりますが、その分ユーザへの恩恵も大きいものだと思います。 その他プラグイン ちなみにこれら以外のプラグインについてはこちらのサイトに記載されておりますので、ご興味がありましたらご参考にしてください。自分の場合はデフォルトで入れているもの等もありましたので、ここでは限定して紹介させていただきました。また、バックアップ系のプラグインについてもこちらのサイトがより詳しく記載しておりますので、自分の好みに合わせてインストールしていただければと思います。 それでは、今回はここまで。また何かしら更新したら記事にします。今後ともよろしくお願いします。##

Electronの開発環境 (Ubuntu)

先日、ノートPCに続きデスクトップPCも更新しました。もちろんこちらにもUbuntuをインストールして使っているのですが、せっかくですのでアプリでも作ってみたいなあと思い、最近流行りのElectronを使ってみることにしました。しかし、Ubuntu×Electronの導入方法を説明した日本語Webサイトが乏しく苦戦したので、日記を兼ねてここに示します。 Ubuntuへのnodejsインストール Electron導入はUbuntu DesktopにElectron環境を構築する(Qiita)を参考にしながた進めていきます。しかし、nodejsのインストール部分でnodebrewコマンドを打っても権限の関係で上手く行かない場所がありました。記事もだいぶ古いですし、このときのnodejsバージョンが6.x、現在が19.xなのでそのままでは上手くいかないのも頷けます。したがって、別の方法でUbuntu×nodejsの環境を構築することになります。こういうときは公式サイトが最強だと思うので、公式サイトのDL場所を見に行きます。しかし、置いてあるのは謎のTar.gzファイルだけ。どうすればいいのか・・・? 外人エンジニアの動画を参考にして成功 ここで日本語でのドキュメントを探してみたのですが一向に見つからず。そこで、Youtubeにて検索してみると「NodeJS Installation on Ubuntu 22.04」という完璧なタイトルの動画を発見。視聴してみると、設定方法が詳しく説明されていました。英語自体も簡単な単語で説明されているのでわかりやすかったです。 導入方法解説(日本語) まずは公式サイトへ行き、LTSバージョンを右クリック→リンク先を保存でDLします。 その後、ダウンロード先のディレクトリで下記コマンドを実行して解凍します。このときに、すでにビルド済みのバイナリが展開されます。 ここから先はちょっとしたアレンジになります。今回のように解凍したバイナリに対し、直接/usr/binや/usr/local/binなどに置くことや、ディレクトリにPATHを通すことがよくおすすめされます。しかし、個人的には管理が面倒であるので避けたいと考えています。そこで、代わりにシンボリックリンクファイルを/usr/binに配置することを推奨します。まずは先程解凍したnodejsのバイナリを/optへ移動しましょう。 そしてバイナリのシンボリックリンクを/usr/binに配置しましょう。nodejsのバイナリはnode-v18.15.0….の中にあるbinフォルダに実体があります。 ここまで操作することで、nodejsのインストールに成功します。試しにnodeコマンドを打ってみると動作することがわかります。 Electronのインストール Level1: 実行環境の準備 nodejsのインストールに成功したら、次はElectronの導入に移ります。ここから先はElectronの公式サイトにあるチュートリアルに沿って進めます。まず、作業用ディレクトリを適当に作りnpm initします。 npm init実行後に、いくつかインタラクティブ入力を要求されます。重要なのは、entorypointをmain.jsに変更し、authorとdiscriptionを適切に入力することだそうです。自分はついでにgithubのURL等も入れておきました。nodejsでの初期化が完了したら、いよいよElectronのインストールを実行します。下記コマンドを入力しましょう。 また、nodejsでのアプリ起動時にelectronが発動するようにpackage.jsonのscripts項に追記します。※この辺はまだ私もよく理解できていないのですが、雰囲気はそんな感じです。 Level2: パッケージ化環境の準備 まだアプリの作成も行っていない段階で気が早いですが、Electronで作成したアプリケーションをパッケージ化するための拡張も先に入れておきます。 ここで注意していただきたい点がひとつ。上記のコマンドを実行することで生成されるforge.config.jsにはpackage化のためのmakeを実行した際に、どのようなパッケージを出力するかが規定されています。この中の設定でRPMパッケージを作ることになっていますが、そこを削除してください。そうしないとRPMパッケージを作ろうとしてエラーを吐いて止まってしまいます。UbuntuではDEBパッケージが標準ですが、Web上では「RPMを入れれば良い」などのトンチンカンな回答も多く見られるので本当に注意。最悪システムを管理しきれなくなります。この情報はWebには無く自分で挙動を見ながら解決したので、同じ轍を他の人がふまないよう記して置きます。 サンプルアプリの作成 サンプルアプリ起動まで…

WordPressの構成を, DD4Lを使って学び直す

こんにちは。最近、精力的に活動しているRockinWoolです。今日はDocker Desktop for Linuxを使ってWordPressをより理解し、上手に活用することを目標に調査していきます。WordPressを雰囲気で使っている人々、Docker Desktop for Linuxに興味がある方に刺さってくれれば嬉しいですね。(逆にいえば、皆様には私のスキルの低さを温かい目で見守ってもらえばと思います) 1. 現在のWordPress環境:予測と懸念 現在、ロリポップさんのサーバをお借りし、WordPressを使って記事を作成しています。WordPressはロリポップさんのサーバ側に用意していただき、LocalのWeb browserからアクセスしております。ロリポップさんのサーバにはムームーさんのドメインをお借りしてアクセスしておりますので、現在の環境構成は下図のようになっていると予測しております。この時点で危惧すべきことは、資産がサーバ側にあるということです。つまり、何らかの状況でLolipopさんへの支払いが遅れたりした際には、一発でこの記事を含めたすべての情報が失われる危険性があるということです。 2. WordPress環境を試しに構築してみる 理解できないものに関しては、まずローカルで環境を作ってみるのが一番良いと思います。ただし、なるべく新品のローカルUbuntu環境を荒らしたくないので、Dockerを使って再現していきます。 2.1 Docker Desktop for Linux(DD4L)環境の構築 今回はこちらを使いながら確認していきます。まずはDocker Desktopをインストールしていきます。普段はCLIでdockerコンテナを使っているのですが、かねてよりナウな仕組みを使って高速化を狙うべくDockerDesktopも触ってみたいと思っていました。ちなみにDockerDesktopの有料化が先日話題になっておりましたが、FAQでは個人レベルであれば無料である旨が記載されています。 インストール作業は非常に簡単で、公式配布サイトに行ってdebパッケージを取得&apt installでインストールするだけです。 2.2 WordPressコンテナの作成 WordPressコンテナについても公式サイトからGithubの説明ページに飛ぶことで作り方がわかるようになっているようです。試しにやっていきましょう。まずは空のプロジェクトを作れと言われているので、単純に作業場所を作ります。その上でdocker-compose.ymlを作ることを指示されています。docker-compose.ymlの記述は下記の通りです。 雑な解説ですが、このdocker-compose.ymlではdb(database)とwordpressの2つのserviceが動いています。また、volumesでホストのdb_dataとwp_dataフォルダを各コンテナと共有しています。ちなみにcommand行がイマイチよくわかっていなくて、デフォルトのコマンドの上書きとしか日本語公式には書かれていないんですよね。ちょっと宿題にしておきます。 2.3 コンテナの起動とWordPressの設定 上記のいつものコマンドをdocker-compose.ymlのあるディレクトリで実行すればコンテナが作成され、自動的に動き出します。今回はここでDocker…

ノートPCの分解と更新

先週末、日本ソーシャル・データサイエンス学会に参加してきました。その中で計算時間の話になり、自分もノートPCを更新しなければと思い立ちました。結論としては、1.5万円でQoL爆上がり!起動時間も数分だったのが5秒程度まで改善されました。 更新したノートPC TOSHIBA Dynabook R731という2011年春モデルのノートPCです(古すぎぃ)。2コア4スレッドでメモリ4GB, 500GBのHDDストレージということで、12年前にしてはそこそこのスペックを持っています。それ故長く使ってしまったというか、Ubuntuを入れて動かす分には結構十分な力を持っていたんですよね。しかし、さすがに年をとって重くなってしまったので、更新することにしました。 更新方針 まずCPUです。R731はcore-i3の2.1GHz, キャッシュが3MBというそこそこのスペックを持っています。CPUは他部品に比べれば頑丈で長持ちするイメージなので、今回は節約を兼ねて現行のままにします。次にメモリ。こちらは4GBなので、現代のアプリを動かすには少し弱いと考えて買い足します。ただし、12年前のノートPCなのでDDR 3Lというあまり耳にしないメモリが必要です。ちょうどCrutial製のモデルがAmazonに残っていたので約6000円で購入しました。 その次はストレージ。2011年ではSSDはデータの揮発性が心配で、データ損失を避けるためにHDDが推奨されていました。しかし、2023年では技術が進歩しているため問題なくSSDが使用できます。SSDもCrutial製(SATA2.5)のものを近場のPCショップで購入しました。こちらもおよそ4000円程度。最後にバッテリー。これはもう7年くらい前から死んでいました。今では電源ケーブルを外すと1分しないうちに落ちてしまいます。なぜか現在でも互換性のあるパーツが販売されていたのでAmazonで購入しました。3000円程度。 分解に必要な工具 作業レポ 最初にPC裏面のドライバを外していきます。Dynabook R731はメンテナンス性を重視して設計されているようで、ウラ面のうち#0の+ドライバーで開けられる部分だけ外せばストレージとメモリは交換できます。CPUを交換する場合は大きめのドライバも必要なので注意。メモリは交換前の時点で2GB2枚がついていることを想定していたのですが、なんと4GB1枚という構成だったので4GB2枚を新規購入する意味はなかったですね。ネットの情報を鵜呑みにせずに事前に確認しておけば良かったと後悔しました。ストレージは下記画像の左側に引っこ抜く感じで取り外しできます。ガイドとなる透明シールもあるので非常にかんたん。メモリは固定レバーを外側にやる感じで外します。下のメモリから入れていくとかんたんですね。 OSのインストール あらかじめ作っておいたUbuntu22.04イメージが入ったUSBを刺して、電源をつないだ直後にF2を連打してBIOSモードに入ります。その後起動順を変更してUSB内のUbuntuが優先的に起動するように変更を加えます。ちなみにUbuntuのイメージは北陸先端科学技術大学院大学JAISTの管理しているやつが断然おすすめです。これを使っておけば日本語にまつわる設定に苦しまなくなります。また、USBに起動可能なUbuntuを焼くためにはRufusがおすすめです。 更新後の動作所感 冒頭に書きましたが、起動時間の短縮がすごい。HDD→SSDとメモリ倍増の効果によって、数分単位だった起動時間が5秒程度に。また、この記事を書いている際に使用しているChromeもサクサクになりました。この快適さを文章では伝えきれないですが、単純に処理速度が上がっただけで買い替えに匹敵する快適さを手に入れていると思います。しかも1万3000円で。 その後 docker、Chrome、Cmake、VSCodeのインストールをとりあえず行いました。dockerのインストール方法がだいぶ変わっていたので戸惑いました。ubuntu等ではあまり積極的に対応していないようですね。このサイトに詳細な方法が記載されていたので、これに従うと良いと思います。ChromeやVSCodeは古いバイナリでインストールしても自動更新があるので安心です。Cmakeはver3.19をインストールしました。 最後に ここまで読んでくださってありがとうございました。PCの改造はコストの割にリターンが大きいので、自信がある方はやってみたほうがお得だと思います。ただし、DDRは今や5であるのに旧式のDDR3を使わなければならないなどの制約が重くのしかかるので、あまりゾンビにさせずに20年後にはスパッと切らないといけないですね。それでは次回もよろしくお願いします!

DBMSを触りたい!②

こんにちは。そのまま続きをやっていきます。前回は下記のようなコマンドで何か全権限を与えた時点でPCを落としてました。 ここで実際にユーザが追加されているのか?そして、権限がどうなっているのか?これを確認する必要がでてきます。これに関しては「わくわくBank」さんに詳しく書いてあったので、そのままやっていこうと思います。まずは、現在登録されているユーザを出していきます。 パッと見た感じ、UserにRWWが登録されていること、hostはlocalhostになっていることがわかります。ちなみにSELECT * FROM mysql.user; と入力することでuserやhost以外の列も出力できます。全然意味がわからないものがほとんどなので、そのうち理解して行きたいですね。 また、権限周りを確認するために、下記コマンドを入力してみました。 どうやらここでは%の部分がエラーになっているようで。%は正規表現か何かだと思って元から変更しなかったのですが、元記事ではlocalhostではなく%にしていたので、こういう表記になったようだ。そこで、localhostを指定することによって、うまく確認することができた。 ちなみに、前回最新IT技術情報_arkgame.comさんの記事では、GRANT ALL PRIVILEGESした後にFLUSH PRIVILEGESを実行して権限付与を確定させていただのだが、筆者の場合はFLUSH PRIVILEGESせずにPCの電源を落とすだけで権限付与が成功していた。これについてはMy Opinion is my ownに詳細な記載があったため、知りたい方はぜひ見に行ってくださいね。 3. データベース内でユーザが切り替えられない せっかくユーザを作成して権限を付与したので、これからそのユーザになってテーブルを作ってやるぞー!となった矢先、mysql内でcurrent userを切り替える方法が探しても見つからない。これは何故だ?と思って同じような質問を見に行くと「クライアントに何を使用しているのか不明ですが、利用ユーザは MySQL への接続の際に指定しているので、一般的には一度接続を解除して、その後、再度別ユーザを指定して接続しなおします。」との回答が。なるほど、そういう思想なんですね。 ということで、一旦EXITを入力してmysqlから脱出した後、今度はRWWとしてログインすることにします。 これによって、確かにRWWとしてログインできたようです。 4. データベースの作成 未だにデータベースという概念が分かっていませんが、テーブルデータの塊のことを指すのでしょうか?一応ChatGPTくんもDBはTableを束ねる上位存在というようなことを言っているので、その認識のまま進めていきます。 ちなみに今回扱えるようにしたかったデータはテーブルデータだったため、正直な話データベースを構築して、そこからテーブルに参照させることの意義が理解できていないです。そんなこんなでテーブルから作ろうとしたら怒られたので、愚直にDBから作って行きます。…