お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

手順

  1. xrdpが入っていなければxrdpをインストール
    1. Desktop版なら最初から入ってた気もする
  2. 3389ポートを開ける
    1. sudo ufw allow 3389
  3. オートログインを殺す
    1. sudo sed -ie 's/AutomaticLoginEnable=true/AutomaticLoginEnable=false/' /etc/gdm3/custom.conf
  4. あとは再起動してWindowsのリモートデスクトップから繋げて画面が映ればOK
    1. sudo reboot

トラブルシューティング

接続したけど画面が真っ暗

pkill gnome-sessionでログインセッションを殺す

左にあるDockが表示されない・設定に外観がない・その他物理接続時とデスクトップの表示が異なる

sudo nano /etc/xrdp/startwm.shして以下の内容を追記する

export DESKTOP_SESSION=ubuntu
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME

レンタルサーバーだってリッチにしたい!という想いの記事です。

やりたいこと

  • zshが使える
  • dircolorsが使える(lsの色分けができる)
  • nanoが使える

カスタマイズ後のシェル環境画面

zshの導入

.zshrcの編集については各々の設定があると思うので適宜読み替えてください

  1. chsh -s /usr/local/bin/zsh
  2. .zshrc一式を突っ込む
    1. https://github.com/Lycolia/my-zsh-conf
  3. .zshrcfor sakura internet以下のコメントを外して有効化する
  4. command not found: dircolorsを解消するために次項の手順でcoreutilsを導入する

coreutilsの導入

GNU lsとdircolorsの導入により、lsに色付けが出来るようにします

mkdir local
wget https://ftp.gnu.org/gnu/coreutils/coreutils-9.2.tar.xz
xz -dc coreutils-9.2.tar.xz  | tar xf -
cd coreutils-9.2/
./configure --prefix=/home/<user-name>/local/
make
make install

nanoの導入

wget https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz
xz -dc nano-7.2.tar.xz  | tar xf -
cd nano-7.2/
./configure --prefix=/home/<user-name>/local/ --enable-color --enable-nanorc
make
make install
cp doc/sample.nanorc ~/.nanorc
# オートインデント有効化
perl -i -pe 's/^# (set autoindent)/$1/' ~/.nanorc
# シンタックスハイライト有効化
perl -i -pe 's/^# (include .+\/local\/share\/nano\/\*.nanorc)/$1/' ~/.nanorc
投稿日:
言語::JavaScript言語::HTML

JavaScriptで添付ファイルを拾うのと、ファイルを落とす処理のサンプルコード

<html>
<head>
  <meta charset='utf-8'>
  <title>js file up/dl example</title>
  <script>
    window.onload = () => {
      const fr = new FileReader();
      const el = document.getElementById("test");

      fr.onload = (ev) => {
        const dl = document.createElement('a');
        dl.setAttribute('href', ev.target.result);
        dl.setAttribute('download', el.files[0].name);
        dl.style.display = 'none';
        document.body.appendChild(dl);
        dl.click();
        document.body.removeChild(dl);
      };

      el.onchange = () => {
        fr.readAsDataURL(el.files[0]);
      };
    };
  </script>
</head>
<body>
  <input type="file" id="test"></input>
</body>
</html>
投稿日:
OS::Windowsミドルウェア::HTTPD::nginx言語::PHP

確認環境

Env Ver
Windows 10 pro
PHP 8.0.2 NTS Visual C++ 2019 x64
nginx 1.19.8

手順

  1. nginx.confを開きFastCGI server listening on 127.0.0.1:9000辺りに次の設定をする
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  C:/nginx/html/$fastcgi_script_name;
    include        fastcgi_params;
}
  1. 設定したフォルダに.phpファイルを配置
  2. nginxを起動
  3. php-cgi.exe -b 127.0.0.1:9000
  4. .phpファイルにアクセス

サービス化する

  • winswを使うとできるらしい
投稿日:
ソフトウェア::MSYS2ソフトウェア::zsh

MSYS2のzshで.zshを叩いたときに次のエラーが出るときの対策

./test.zsh: 2 行: read: -q: 無効なオプションです
read: 使用法: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

動かないシェルスクリプトのサンプル

  • 但しこれは動く
    • echo "yes or no (y/N): "; if read -q; then; echo hello; else echo abort; fi
echo 'yes or no (y/N): '
if read -q; then
  echo y
else
  echo n
fi

解決方法

  • 次のようにshebangを入れてやる
    • 多分shが呼ばれているのだと思う
#!/bin/zsh

echo 'yes or no (y/N): '
if read -q; then
  echo y
else
  echo n
fi