ラベル XRDP の投稿を表示しています。 すべての投稿を表示
ラベル XRDP の投稿を表示しています。 すべての投稿を表示

2022年3月12日土曜日

Microk8sでDebian 11(Bullseye)のLXDEデスクトップ環境をデプロイする

Microk8sでDebian 11(Bullseye)のLXDEデスクトップ環境をデプロイするには、以下の手順を実行します。デスクトップ環境にはリモートデスクトップで接続します。

〇リモートデスクトップで接続したMicrok8s上のDebian 11(Bullseye) LXDEデスクトップ環境

作成手順

1. ビルトインレジストリの有効化(※既に実施している場合はスキップしてください)
Microk8sがインストールされているホスト上で以下のコマンドを実行します。
microk8s enable registry:size=50Gi
※registryプラグインが有効化してあるか不明な場合はmicrok8s statusコマンドを実行します。

Dockerがインストールしてあるリモートマシン上で以下のコマンドを実行します。192.168.1.1の部分は、Microk8sのホストのIPに変更してください。
cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.1:32000"]
}
EOF

sudo systemctl restart docker

2. 以下のDockerfileを使用してイメージを作成・プッシュします
以下のコマンドをDockerがインストールしてあるリモートマシン上で実行します。
cat << EOF > Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install task-lxde-desktop xrdp supervisor task-japanese-desktop fcitx-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && mv /usr/bin/lxpolkit /usr/bin/lxpolkit.bak \
  && echo 'nameserver 8.8.8.8' >> /etc/resolve.conf \ 
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]
EOF

・イメージ作成コマンド ※192.168.1.1の部分はMicrok8sのホストのIPに変更してください。
docker build . -t 192.168.1.1:32000/debian11lxde:latest

・イメージのタグ付け
docker tag `docker images | grep '192.168.1.1:32000/debian11lxde' | awk '{print $3}'` 192.168.1.1:32000/debian11lxde:latest

・イメージをビルトインレジストリにプッシュ
docker push 192.168.1.1:32000/debian11lxde:latest

・Microk8sのサーバ上で、イメージが登録されたことを確認するには以下のコマンドを実行します。
wget http://192.168.1.1:32000/v2/_catalog -O -

3. 永続ボリューム用のフォルダ作成
sudo mkdir -p /var/debian11lxde

sudo chown 1000:1000 /var/debian11lxde

4. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-debian11lxde-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-debian11lxde-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/debian11lxde
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-debian11lxde-pv.yml

5. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-debian11lxde-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-debian11lxde-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-debian11lxde-pv
EOF

microk8s kubectl apply -f ./local-debian11lxde-pvc.yml

6. Deploymentの作成
以下のコマンドで、作成したdebian11lxdeのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > debian11lxde-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: debian11lxde-deployment
  labels:
    app: mydebian11lxde
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mydebian11lxde
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mydebian11lxde
    spec:
      containers:
      - name: mydebian11lxde
        image: localhost:32000/debian11lxde:latest
        ports:
        - containerPort: 3389
        volumeMounts:
        - name: debian11lxde-data
          mountPath: /home/debian
      volumes:
      - name: debian11lxde-data
        persistentVolumeClaim:
          claimName: local-debian11lxde-pvc
      dnsConfig:
        options:
        - name: ndots
          value: "1"
EOF

microk8s kubectl apply -f ./debian11lxde-deployment.yml

7. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > debian11lxde-service.yml
apiVersion: v1
kind: Service
metadata:
  name: debian11lxde-service
spec:
  selector:
    app: mydebian11lxde
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - protocol: TCP
    port: 3389
    targetPort: 3389
EOF

microk8s kubectl apply -f ./debian11lxde-service.yml

8. WindowsのリモートデスクトップやLinux上のRemminaからMicrok8sホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

2022年3月11日金曜日

k3sでDebian 11(Bullseye)のXfceデスクトップ環境をデプロイする

k3sでDebian 11(Bullseye)のXfceデスクトップ環境をデプロイするには、以下の手順を実行します。デスクトップ環境にはリモートデスクトップで接続します。
Raspberry Pi 4で動作しますが、イメージの作成など4-5時間ほどかかります(ネットワークやストレージの性能によって変わります)。
192.168.1.1の部分はk3sをインストールしたホストのIPアドレスに変更してください。

〇リモートデスクトップで接続したk3s上のDebian 11(Bullseye)デスクトップ環境

作成手順

1. プライベートレジストリ用ディレクトリ作成
sudo mkdir -p /var/privatereg

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-privatereg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-privatereg-pv
spec:
  capacity:
    storage: 50Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/privatereg
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているk3sがインストールされているホスト名になります。適宜変更してください。
sudo k3s kubectl apply -f ./local-privatereg-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-privatereg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-privatereg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-privatereg-pv
EOF

sudo k3s kubectl apply -f ./local-privatereg-pvc.yml

4. Deploymentの作成
以下のコマンドで、作成したdebian11xfceのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > privatereg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: privatereg-deployment
  labels:
    app: privatereg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: privatereg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: privatereg
    spec:
      containers:
      - name: privatereg
        image: registry:2
        ports:
        - containerPort: 5000
        env:
        - name: REGISTRY_HTTP_ADDR
          value: :5000
        - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
          value: /var/lib/registry
        volumeMounts:
        - name: privatereg-data
          mountPath: /var/lib/registry
      volumes:
      - name: privatereg-data
        persistentVolumeClaim:
          claimName: local-privatereg-pvc
EOF

sudo k3s kubectl apply -f ./privatereg-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > privatereg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: privatereg-service
spec:
  selector:
    app: privatereg
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるk3sをインストールしたホストのIPを設定します。
  ports:
  - protocol: TCP
    port: 5000
    targetPort: 5000
EOF

sudo k3s kubectl apply -f ./privatereg-service.yml

6. プライベートレジストリ設定
k3sがインストールされているホスト上で以下のコマンドを実行します。
cat << EOF | sudo tee /etc/rancher/k3s/registries.yaml
mirrors:
  "192.168.1.1:5000":
    endpoint:
      - "http://192.168.1.1:5000"
EOF

sudo systemctl restart k3s.service

設定確認コマンド
sudo k3s crictl info

Dockerがインストールしてあるリモートマシン上で以下のコマンドを実行します。192.168.1.1の部分は、k3sのホストのIPに変更してください。
cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.1:5000"]
}
EOF

sudo systemctl restart docker

7. 以下のDockerfileを使用してイメージを作成・プッシュします
以下のコマンドをDockerがインストールしてあるリモートマシン上(もしくはk3sがインストールしてあるマシンにdockerもインストール)で実行します。
cat << EOF > Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install xfce4 dbus-x11 xfce4-terminal xrdp supervisor task-japanese-desktop ibus-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho libreoffice \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]
EOF

・イメージ作成コマンド ※192.168.1.1の部分はk3sのホストのIPに変更してください。
docker build . -t 192.168.1.1:5000/debian11xfce:latest

・イメージのタグ付け
docker tag `docker images | grep '192.168.1.1:5000/debian11xfce' | awk '{print $3}'` 192.168.1.1:5000/debian11xfce:latest

・イメージをプライベートレジストリにプッシュ
docker push 192.168.1.1:5000/debian11xfce:latest

8. 永続ボリューム用のフォルダ作成
sudo mkdir -p /var/debian11xfce

sudo chown 1000:1000 /var/debian11xfce

9. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-debian11xfce-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-debian11xfce-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/debian11xfce
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているk3sがインストールされているホスト名になります。適宜変更してください。
sudo k3s kubectl apply -f ./local-debian11xfce-pv.yml

10. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-debian11xfce-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-debian11xfce-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-debian11xfce-pv
EOF

sudo k3s kubectl apply -f ./local-debian11xfce-pvc.yml

11. Deploymentの作成
以下のコマンドで、作成したdebian11xfceのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > debian11xfce-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: debian11xfce-deployment
  labels:
    app: mydebian11xfce
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mydebian11xfce
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mydebian11xfce
    spec:
      containers:
      - name: mydebian11xfce
        image: 192.168.1.1:5000/debian11xfce:latest
        ports:
        - containerPort: 3389
        volumeMounts:
        - name: debian11xfce-data
          mountPath: /home/debian
      volumes:
      - name: debian11xfce-data
        persistentVolumeClaim:
          claimName: local-debian11xfce-pvc
EOF

sudo k3s kubectl apply -f ./debian11xfce-deployment.yml

12. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > debian11xfce-service.yml
apiVersion: v1
kind: Service
metadata:
  name: debian11xfce-service
spec:
  selector:
    app: mydebian11xfce
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるk3sをインストールしたホストのIPを設定します。
  ports:
  - protocol: TCP
    port: 3389
    targetPort: 3389
EOF

sudo k3s kubectl apply -f ./debian11xfce-service.yml

13. WindowsのリモートデスクトップやLinux上のRemminaからk3sホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

関連情報

・DockerでDebian 11のXfceデスクトップ環境を作成したい場合は以下を参照してください。
DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

MinikubeでDebian 11(Bullseye)のLXDEデスクトップ環境をデプロイする

MinikubeでDebian 11(Bullseye)のLXDEデスクトップ環境をデプロイするには、以下の手順を実行します。デスクトップ環境にはリモートデスクトップで接続します。

〇リモートデスクトップで接続したMinikube上のDebian 11(Bullseye) LXDEデスクトップ環境

〇作成手順
1. 以下のDockerfileを使用してイメージを作成します
# ホスト側で実行して、dockerの向き先をminikubeにします
eval $(minikube -p minikube docker-env)

cat << EOF > Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install task-lxde-desktop xrdp supervisor task-japanese-desktop fcitx-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && mv /usr/bin/lxpolkit /usr/bin/lxpolkit.bak \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]
EOF

# イメージ作成コマンド
docker build --no-cache -t debian11lxde .

2. 永続ボリューム用のフォルダ作成
minikube ssh

sudo mkdir -p /var/debian11lxde

sudo chown 1000:1000 /var/debian11lxde

exit

3. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
cat << EOF > local-debian11lxde-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-debian11lxde-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/debian11lxde
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-debian11lxde-pv.yml

4. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
cat << EOF > local-debian11lxde-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-debian11lxde-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-debian11lxde-pv
EOF

kubectl apply -f ./local-debian11lxde-pvc.yml

5. Deploymentの作成
以下のコマンドで、作成したdebian11lxdeのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > debian11lxde-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: debian11lxde-deployment
  labels:
    app: mydebian11lxde
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mydebian11lxde
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mydebian11lxde
    spec:
      containers:
      - name: mydebian11lxde
        image: debian11lxde
        imagePullPolicy: Never # ローカルイメージを使用する
        ports:
        - containerPort: 3389
        volumeMounts:
        - name: debian11lxde-data
          mountPath: /home/debian
      volumes:
      - name: debian11lxde-data
        persistentVolumeClaim:
          claimName: local-debian11lxde-pvc
EOF

kubectl apply -f ./debian11lxde-deployment.yml

6. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > debian11lxde-service.yml
apiVersion: v1
kind: Service
metadata:
  name: debian11lxde-service
spec:
  selector:
    app: mydebian11lxde
  ports:
  - protocol: TCP
    port: 3389
    targetPort: 3389
EOF

kubectl apply -f ./debian11lxde-service.yml

7. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/debian11lxde-service 3389:3389

8. WindowsのリモートデスクトップやLinux上のRemminaからMinikubeホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

2022年2月12日土曜日

DockerでDebian 11(Bullseye)のLXDEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

DockerでDebian 11(Bullseye)のLXDEデスクトップ環境にリモートデスクトップで接続できるコンテナを作成するには、以下の手順を実行します

〇リモートデスクトップで接続したDocker上のDebian 11(Bullseye) LXDEデスクトップ環境

作成手順

1. 以下のコマンドを実行してイメージを作成します
cat << EOF > Dockerfile
FROM debian:bullseye

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
  && apt-get -y install vim task-japanese locales-all \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale \
  && apt-get -y install task-lxde-desktop xrdp supervisor task-japanese-desktop fcitx-mozc fonts-ipafont fonts-ipafont-gothic fonts-ipafont-mincho \
  && echo '[supervisord]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'nodaemon=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp-sesman]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp-sesman -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=100' >> /etc/supervisor/conf.d/sv.conf \
  && echo '[program:xrdp]' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'command=/usr/sbin/xrdp -nodaemon' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autostart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'autorestart=true' >> /etc/supervisor/conf.d/sv.conf \
  && echo 'priority=200' >> /etc/supervisor/conf.d/sv.conf \
  && groupadd -g 1000 debian \
  && useradd -d /home/debian -m -s /bin/bash -u 1000 -g 1000 debian \
  && echo 'debian:debian' | chpasswd \
  && echo "debian ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && mv /usr/bin/lxpolkit /usr/bin/lxpolkit.bak \
  && apt-get clean && apt-get autoremove \
  && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*

CMD ["bash", "-c", "/usr/bin/supervisord -c /etc/supervisor/supervisord.conf"]
EOF

docker build --no-cache -t debian11lxde .

2. 作成したイメージを使用してコンテナを実行します。
docker run --rm -v `pwd`:/home/debian -p 3389:3389 debian11lxde

3. WindowsのリモートデスクトップやLinux上のRemminaからDockerホストのIPを指定して接続します。
ユーザ名debian、パスワードdebianでログインしてください。

※イメージを削除する場合は、以下のコマンドを実行します
docker rmi debian11lxde

2020年6月3日水曜日

VagrantでBlueJ、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

BlueJはJava言語の学習に適したIDEです。

〇BlueJの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、BlueJ、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomebluej"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomebluej"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install BlueJ
flatpak -y install https://flathub.org/repo/appstream/org.bluej.BlueJ.flatpakref


telinit 5
SHELL
end

2020年5月22日金曜日

Vagrantでdarktable、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

darktableはオープンソースの写真管理・編集ソフトウェアです。

〇darktableの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、darktable、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedarktable"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedarktable"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Darktable
flatpak -y install flathub org.darktable.Darktable
cat << EOF > /usr/share/applications/darktable.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/flatpak run org.darktable.Darktable
Name=Darktable
Categories=Graphics;
EOF


telinit 5
SHELL
end


〇関連情報
・darktableに関する他の記事はこちらを参照してください。

・darktableのgithubリポジトリ
https://github.com/darktable-org/darktable

2020年5月21日木曜日

VagrantでDBeaverとOpenJDK11、CockroachDB、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、CockroachDB, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
Insecureモードで接続するには、ホストに192.168.1.101、ユーザにtestを指定、Edit Driver SettingsでAllow Empty Passwordにチェックをつけます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeavercockroachdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeavercockroachdb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install cockroachdb
cd /opt
wget -qO- https://binaries.cockroachdb.com/cockroach-v19.2.5.linux-amd64.tgz | tar  xvz

mv cockroach-v19.2.5.linux-amd64 /opt/cockroach

/opt/cockroach/cockroach init --insecure --store=node1 --host=192.168.1.101:26257

cat << EOF > /etc/systemd/system/cockroachdb.service
[Unit]
Description=cockroachdb
Requires=network.target

[Service]
Type=forking
WorkingDirectory=/opt/cockroach
ExecStart=/opt/cockroach/cockroach start --insecure --host=192.168.1.101 --background
ExecStop=/opt/cockroach/cockroach quit

[Install]
WantedBy=multi-user.target
EOF
systemctl enable cockroachdb.service
systemctl start cockroachdb.service

# execute sample sql statements
/opt/cockroach/cockroach sql --insecure --host=192.168.1.101 << EOF
CREATE DATABASE test;
CREATE USER IF NOT EXISTS test;
GRANT ALL ON DATABASE test TO test;
CREATE TABLE test.messages (id INT PRIMARY KEY, message varchar(100));
INSERT INTO test.messages VALUES (1, 'hello world.');
select * from test.messages;
EOF


# install openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月20日水曜日

VagrantでDBeaverとOpenJDK11、PostgreSQL12、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、PostgreSQL12, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
データベース接続作成時にデータベース名:test、ユーザ名:test、パスワード:testを指定します。ドライバはデータベース接続作成時にダウンロードできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeaverpg12"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeaverpg12"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# download and install postgresql.
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql

dnf -y update
dnf -y install postgresql12-server postgresql12-devel postgresql12-contrib
systemctl enable postgresql-12

# initialize postgresql server
/usr/pgsql-12/bin/postgresql-12-setup initdb

echo "listen_addresses='*'" >> /var/lib/pgsql/12/data/postgresql.conf

sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/12/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         ::1/128          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         192.168.1.0/24          password" >> /var/lib/pgsql/12/data/pg_hba.conf
systemctl start postgresql-12.service

# create users and databases...
su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user test with password 'test';
"
EOF
export PGPASSWD=psotgres

systemctl restart postgresql-12.service
su - postgres << EOF
createdb test
psql -c "
alter database test owner to test;
"
EOF

# install openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月18日月曜日

VagrantでDBeaverとOpenJDK11、PostgreSQL12、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、PostgreSQL12, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
データベース接続作成時にデータベース名:test、ユーザ名:test、パスワード:testを指定します。ドライバはデータベース接続作成時にダウンロードできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeavermariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeavermariadb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install mariadb
yum -y install mariadb mariadb-server
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -proot -e "CREATE USER test@localhost IDENTIFIED BY 'test';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月17日日曜日

VagrantでdigiKam、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

digiKamはオープンソースの写真管理・編集ソフトウェアです。

〇digiKamの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、digiKam、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedigikam"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedigikam"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install digiKam
dnf -y install jack-audio-connection-kit libnsl
mkdir -p /opt/digikam
cd /opt/digikam
wget http://ftp.kddlabs.co.jp/pub/X11/kde/stable/digikam/6.4.0/digikam-6.4.0-x86-64.appimage
chmod +x digikam-6.4.0-x86-64.appimage
cat << EOF > /usr/share/applications/digikam.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/digikam/digikam-6.4.0-x86-64.appimage
Name=digiKam
EOF

telinit 5
SHELL
end

関連情報

・digiKamに関する他の記事はこちらを参照してください。

・digiKamのgithubリポジトリ
https://github.com/KDE/digikam

2020年5月11日月曜日

Vagrantでメモアプリケーション(Bijiben)、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

メモアプリケーション(Bijiben)で付箋紙のようにメモする事ができます。

〇メモアプリケーション(Bijiben)の画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、メモアプリケーション(Bijiben)、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomebijiben"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomebijiben"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Bijiben
#flatpak -y install https://flathub.org/repo/appstream/org.gnome.bijiben.flatpakref
flatpak -y install flathub org.gnome.Notes


telinit 5
SHELL
end

2020年5月10日日曜日

VagrantでBlender、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

Blenderはオープンソースの3D CG作成ソフトウェアです。

〇Blenderの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、Blender、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeblender"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeblender"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install Blender
cd /opt
wget https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.82/blender-2.82a-linux64.tar.xz
 tar Jxfv blender-2.82a-linux64.tar.xz
cat << EOF > /usr/share/applications/blender.desktop
[Desktop Entry]
Type=Application
Version=1.0
Name=Blender
Icon=/opt/blender-2.82a-linux64/blender.svg
Exec=/opt/blender-2.82a-linux64/blender
Categories=Graphics;
EOF


telinit 5
SHELL
end

2020年5月9日土曜日

VagrantでRobocode、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

Robocodeは、プログラムでコントロールする戦車が戦うゲームです。Javaや.netを使用するプログラム言語を学ぶことができます。

〇Robocodeの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、Robocode、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomerobocode"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomerobocode"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install openjdk
dnf install -y java-11-openjdk-devel

# download and install robocode
mkdir -p /opt/robocode
cd /opt/robocode
wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.7/robocode-1.9.3.7-setup.jar'
jar xvf robocode-1.9.3.7-setup.jar
chmod +x /opt/robocode/robocode.sh
cat << EOF > /usr/share/applications/robocode.desktop
[Desktop Entry]
Type=Application
Version=1.0
Name=Robocode
GenericName=Tank AI programming game for Java and .NET
Comment=Build the best - destroy the rest!
Icon=/opt/robocode/desktop/robocode.png
Exec=/opt/robocode/robocode.sh
Categories=Game;StrategyGame;
EOF


telinit 5
SHELL
end

関連情報

・Robocodeに関する他の記事はこちらを参照してください。

・Robocodeのホームページ
https://robocode.sourceforge.io/

2020年5月7日木曜日

VagrantでGlimpse Editor、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

Glimpse Editorはオープンソースの画像処理ツールです。

〇Glimpse Editorの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、Glimpse Editor、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeglimpse"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeglimpse"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Glimpse
flatpak -y install flathub org.glimpse_editor.Glimpse
cat << EOF > /usr/share/applications/glimpse.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/flatpak run org.glimpse_editor.Glimpse
Name=Glimpse Editor
Categories=Graphics;
EOF

telinit 5
SHELL
end

関連情報

・Glimpse Editorに関する他の情報はこちらを参照してください。

・プロジェクトwebサイト
https://glimpse-editor.github.io/

2020年5月6日水曜日

VagrantでRawTherapee、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

RawTherapeeはRAW画像編集アプリケーションです。

〇RawTherapeeの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、RawTherapee、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomerawtherapee"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomerawtherapee"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install RawTherapee
mkdir -p /opt/rawtherapee
cd /opt/rawtherapee
wget https://rawtherapee.com/shared/builds/linux/RawTherapee_5.8.AppImage
chmod +x RawTherapee_5.8.AppImage
cat << EOF > /usr/share/applications/rawtherapee.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/rawtherapee/RawTherapee_5.8.AppImage
Name=RawTherapee
Categories=Graphics;
EOF

telinit 5
SHELL
end

関連情報

・プロジェクトWebサイト
https://rawtherapee.com/

2020年5月5日火曜日

VagrantでFileZilla、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

FileZillaはオープンソースのFTPクライアントです。

〇FileZillaの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、FileZilla、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomefilezilla"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomefilezilla"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install filezilla
flatpak -y install flathub org.filezillaproject.Filezilla

telinit 5
SHELL
end

2020年5月4日月曜日

VagrantでScribus、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

ScribusはオープンソースのDTPアプリケーションです。

〇Scribusの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、Scribus、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomescribus"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomescribus"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Scribus
flatpak -y install flathub net.scribus.Scribus


telinit 5
SHELL
end

関連情報

・Scribusに関する他の記事はこちらを参照してください。

・Scribusのプロジェクトwebサイト
https://www.scribus.net/

2020年5月3日日曜日

VagrantでInkscape、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

Inkscapeはオープンソースの画像編集ソフトウェアです。

〇Inkscapeの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、Inkscape、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeinkscape"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeinkscape"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Inkscape
flatpak -y install flathub org.inkscape.Inkscape

telinit 5
SHELL
end

2020年5月2日土曜日

VagrantでAzPainter、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

AzPainterはイラスト描画向けのペイントアプリケーションです。

〇AzPainterの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、AzPainter、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeazpainter"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeazpainter"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install azpainter
dnf -y groupinstall "Development Tools"
dnf -y install freetype-devel fontconfig-devel libjpeg-turbo-devel libX11-devel libXext-devel
wget https://osdn.net/dl/azpainter/azpainter-2.1.5.tar.xz
tar Jxfv azpainter-2.1.5.tar.xz
cd azpainter-2.1.5
./configure
make
make install-strip
cat << EOF > /usr/share/applications/azpainter.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/azpainter
Name=AzPainter
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月1日金曜日

VagrantでgLabels、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

gLabelsで名刺や宛先ラベルなどをデザインする事ができます。

〇gLabelsの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、gLabels、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeglabels"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeglabels"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install gLabels
mkdir -p /opt/glabels
cd /opt/glabels
wget https://github.com/jimevins/glabels-qt/releases/download/glabels-3.99-master560/glabels-3.99-master560-x86_64.AppImage
chmod +x glabels-3.99-master560-x86_64.AppImage
cat << EOF > /usr/share/applications/freecad.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/glabels/glabels-3.99-master560-x86_64.AppImage
Name=gLabes
Categories=Office;
EOF

telinit 5
SHELL
end

関連情報

・gLabelsに関する他の情報はこちらを参照してください。