2021-05-07
目的:Ubuntu がサスペンドから復帰する際に,Geforce 1070 が戻らないhttps://qiita.com/ocean_f/items/60825042f10c7f43a4af
環境:WSL で ubuntu をインストールして利用する
利点:
操作方法がRaspbianとほぼ同じなので、RaspberryPi での実行の際にも役に立つ
問題点:
インストール時にコントロールパネルにアクセス
WSL では systemd が入らないので、apache2 等の自動起動ができない(WSL2ではOKかも)
ssh の利用に少々設定が必要(デフォルトだと Key なし、パスワード認証不可)
参考サイト:
WSL+ubuntu 環境での apache2 インストール等:https://codeaid.jp/blog/wsl-lamp-wp1/
WSL+ubuntu 環境での ssh の設定:https://w.atwiki.jp/ohden/pages/864.html
以下、> は Windows のプロンプト、$は ubuntu のプロンプト
WSL では systemd から起動することができません
$ sudo service apache2 start
$ sudo service ssh restart
※バッチファイルを作成し、Windows 再起動時に自動実行するようにスタートアップに登録しておくこともできるらしい (例えば https://qiita.com/nashi2603/items/d0645305b137017b91b0 )
@echo off
wsl -u root -- service apache2 start
wsl -u root -- service ssh start
[コントロールパネル] を開く
[プログラム] - [プログラムと機能]
左側メニュー [Windowsの機能の有効化または無効化] をクリック
「Windows Subsystem for Linux」へチェックを入れ、再起動する
別の方法 ( https://docs.microsoft.com/ja-jp/windows/wsl/install-win10 )
管理者でターミナルを開く
コマンド実行
> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
再起動
[ ubunutu のインストール ]
Microsoft Store を起動
「ubuntu」 を検索
「入手」を押して、ダウンロード、インストール
[ ubuntu の起動 ]
ユーザ名とパスワードを決めておく
Windows メニューから ubuntu を起動
ターミナルが開く
ユーザ名、パスワード設定
$ sudo apt-get update
$ sudo apt-get upgrade
[ Apache2 install ]
$ sudo apt install apache2
$ sudo apachectl -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2020-03-13T12:26:16
[ Apache2 起動 ]
$ sudo service apache2 start
* Starting Apache httpd web server apache2 [Fri Apr 17 09:45:03.877550 2020] [core:warn] [pid 2092:tid 140404604996544] (92)Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT
*
Windows でアクセス確認が表示されるので「プライベート」だけ`OK
Web ブラウザで http://localhost でテストページ表示
[ PHP インストール ] :マルチバイト対応
$ sudo apt install php libapache2-mod-php php-mbstring php-gettext
$ sudo phpenmod mbstring
$ sudo service apache2 restart
* Restarting Apache httpd web server apache2
[Sat Apr 18 12:15:30.462130 2020] [core:warn] [pid 8823]
(92)Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT
[ OK ]
テストファイル作成
$ sudo vi /car/www/html/info.php
<?php
phpinfo();
?>
Web ブラウザで http://localhost/info.php でテストページ表示
[ ssh 起動 ]
$ sudo ssh-keygen -t ecdsa -N '' -f /etc/ssh/ssh_host_ecdsa_key
$ sudo ssh-keygen -t ed25519 -N '' -f /etc/ssh/ssh_host_ed25519_key
$ sudo ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
-> パスワード認証を有効化
$ sudo vi /etc/ssh/sshd_config
#PasswordAuthentication no
PasswordAuthentication yes
-> 再起動
$ sudo service ssh restart
* Restarting OpenBSD Secure Shell server sshd
TeraTerm で localhost にログイン -> OK
+++ sshd が最初にうまくいかなかった過程:
$ sudo service ssh start
* Starting OpenBSD Secure Shell server sshd Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
[ OK ]
Windows でアクセス確認が表示されるので「プライベート」だけOK
$ ssh XXX@localhost
Connection closed by 127.0.0.1 port 22
つながらない!!
-> 問題点:ssh の Key がない、パスワード認証ができない
これは不要かも
$ sudo vi /et/ssh/sshd_config
ListenAddress 127.0.0.1
ListenAddress ::1
+++