Linuxコマンド:who

公開:2026.05.04(月) 07:20

who コマンド

ログイン中のユーザー名を調べる

who (オプション)

-i - ユーザーが最後に端末操作を行なってからの経過時間(アイドルタイム)

w コマンド

現在ログイン中のユーザーを調べる

参考:https://atmarkit.itmedia.co.jp/flinux/rensai/linuxtips/053whologinuser.html


Linux コマンド

JavaScript:node環境の構築

公開:2026.05.03(日) 19:36

JavaScriptの開発環境をDockerで構築する

JavaScriptの学習をするため、Docker上にnode.js環境の構築をすることにした。

Docker環境

1. Windows+WSL+Ubuntu上にDockerを構築


2. 作業フォルダ作成

WSL上に "~/docker/node.js" フォルダを作成した。
mkdir -p ~/docker/node.js
cd ~/docker/node.js

3. compose.yamlファイル作成

VSCodeを起動
masauser@hppc:~/docker/node.js$ code .

compose.yaml
services:
  app:
    image: node:20-slim
    volumes:
      - .:/app
    working_dir: /app
    ports:
      - "3000:3000"
    tty: true
      

4. コンテナ起動

WSLターミナル、またはVSCodeのターミナル(CTRL+@)で以下コマンドを実行
docker compose up -d

実行結果:
masauser@hppc:~/docker/node.js$ docker compose up -d
[+] up 10/10
 ✔ Image node:20-slim     Pulled                                                                                   11.1s
 ✔ Network nodejs_default Created                                                                                   0.1s
 ✔ Container nodejs-app-1 Started
    

5. 簡易サーバー起動

コンテナ上で簡易サーバーを起動
docker compose exec app npx serve .

実行結果:
masauser@hppc:~/docker/node.js$ docker compose exec app npx serve .
Need to install the following packages:
serve@14.2.6
Ok to proceed? (y) y

 ERROR  Cannot copy server address to clipboard: Couldn't find the `xsel` binary and fallback didn't work. On Debian/Ubuntu you can install xsel with: sudo apt install xsel.

   ┌────────────────────────────────────────┐
   │                                        │
   │   Serving!                             │
   │                                        │
   │   - Local:    http://localhost:3000    │
   │   - Network:  http://172.19.0.2:3000   │
   │                                        │
   └────────────────────────────────────────┘

 HTTP  5/3/2026 11:52:10 AM 172.19.0.1 GET /
 HTTP  5/3/2026 11:52:10 AM 172.19.0.1 Returned 200 in 22 ms
 HTTP  5/3/2026 11:52:10 AM 172.19.0.1 GET /favicon.ico
 HTTP  5/3/2026 11:52:10 AM 172.19.0.1 Returned 404 in 3 ms
 HTTP  5/3/2026 11:52:14 AM 172.19.0.1 GET /
 HTTP  5/3/2026 11:52:14 AM 172.19.0.1 Returned 200 in 1 ms
    
ERRORと表示されているがxselが入っていんた

6. 動作テスト

WSLの作業フォルダ上にindex.htmlを作成
VSCodeでは "!" + Enter(または "html:5" + Enter)でhtmlのテンプレートを作成
bodyに適当に文字列を入力しておく。

Windowsのブラウザで「http://localhost:3000」にアクセス、index.htmlの中身が表示されればOK

簡易サーバーは CTRL+D で終了させておく、

7. package.jsonの作成

"npm start" コマンドで簡易サーバーを起動できるようにpackage.jsonを作成する。
WSLにて以下コマンドを実行する。
docker compose exec app npm init -y
docker compose exec app npm install serve

実行結果:
masauser@hppc:~/docker/node.js$ docker compose exec app npm init -y
Wrote to /app/package.json:

{
  "name": "app",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}



masauser@hppc:~/docker/node.js$ docker compose exec app npm install serve

added 85 packages, and audited 86 packages in 2s

26 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
    
package.jsonはWSL(Ubuntu)の作業用フォルダに作成されており、これを編集したいが書き込み権限が無く編集できない。
WSL(Ubuntu)の作業フォルダ上で以下コマンドを実行し権限を付与する。
sudo chown -R \$USER:$USER .

次にWSLで "code package.json" (またはWindowsのVSCodeからリモートエクスプローラー、もしくは Ubuntu上でvimで) scriptsの部分に "start: serve ." を付加する。
{
  "name": "app",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "serve ."
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "serve": "^14.2.6"
  }
}
    
これで以下コマンドで簡易サーバーが起動できるようになる。
docker compose exec app npm start

8. コンテナを一般ユーザーで動かす

コンテナ内の動作はコンテナ内のrootユーザーによって動作するため、先ほどのpackage.jsonのようにホストから編集できないファイルが作成される場合がある。
"node:20-slim"イメージには nodeという名前の一般ユーザーが含まれており、このユーザーでコンテナを動かすことでこのトラブルを防ぐことができる。
"node"ユーザーでコンテナを動かすには compose.yaml に "user" 設定を追加する。
services:
  app:
    image: node:20-slim
    user: "node"  # ← これを追加(rootではなく標準ユーザーnodeで動かす)
    volumes:
      - .:/app
    working_dir: /app
    ports:
      - "3000:3000"
    tty: true      
    
設定を反映するには、CTRL+C および compose down でコンテナをいったん停止し compose up で再起動する。
docker compose down
docker compose up -d

9. コンテナ起動時に簡易サーバーも起動させる

現在はコンテナ起動したとに docker compose exec app npm start を実行する必要がる。
コンテナ起動時に npm start を実行させるには compose.yaml に "command" の設定を追加する。
services:
  app:
    image: node:20-slim
    user: "node"
    volumes:
      - .:/app
    working_dir: /app
    ports:
      - "3000:3000"
    # コンテナ起動時に自動で実行されるコマンド
    command: npm start
    tty: true
    
"docker compose down" → "docker compose up -d" でコンテナを再起動、
Windowsからブラウザで "localhost:3000" にアクセスできれば無事に起動できている。


WSL Docker Node.js JavaScript

WSL:Linuxをインストールする方法

公開:2026.05.01(金) 20:33

WSLにUbuntuをインストールする

WSLにインストール可能なディストリビューションの一覧は以下コマンドで確認する。
wsl --list --online
または
wsl -l -o

実行結果:
PS C:\Users\xxx> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install ' を使用してインストールします。

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-16.0              openSUSE Leap 16.0
SUSE-Linux-Enterprise-15-SP7    SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0      SUSE Linux Enterprise 16.0
kali-linux                      Kali Linux Rolling
Debian                          Debian GNU/Linux
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
AlmaLinux-10                    AlmaLinux OS 10
archlinux                       Arch Linux
FedoraLinux-44                  Fedora Linux 44
FedoraLinux-43                  Fedora Linux 43
eLxr                            eLxr 12.12.0.0 GNU/Linux
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_10                Oracle Linux 8.10
OracleLinux_9_5                 Oracle Linux 9.5
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
    
WSLにUbuntuなどのディストリビューションをインストールするには以下コマンドを実行する。
wsl --install -d (ディストリビューション名)

実行結果:
PS C:\Users\xxx> wsl --install -d ubuntu
ダウンロードしています: Ubuntu
インストールしています: Ubuntu
ディストリビューションが正常にインストールされました。'wsl.exe -d Ubuntu' を使用して起動できます
Ubuntu を起動しています...
Provisioning the new WSL instance Ubuntu
This might take a while...
ユーザー名を聞いてくるので好きなユーザー名を入力
      Create a default Unix user account: masauser
    
次にパスワードを入力して完了
  New password:
  Retype new password:
  passwd: password updated successfully
  To run a command as administrator (user "root"), use "sudo ".
  See "man sudo_root" for details.
    


WSL

その他の記事