У вас есть ipad или chromebook, и вы хотите использовать его для программирования? Почему бы не использовать для этого vscode?
Visual Studio Code недоступна в магазине apple, поэтому мы будем использовать raspberry pi в качестве хоста для visual studio code. Но вместо удаленного доступа через vnc мы будем использовать веб-версию vscode.
Вам понадобится полностью рабочий raspberry pi, поэтому если вы новичок, просто загляните на эту страницу, где вы найдете инструкцию по настройке Raspberry Pi.
Когда ваш raspberry pi установлен и полностью доступен через ssh, пришло время установить приложение ssh из магазина ipad.
Вы можете удаленно подключиться к raspberry pi с помощью приложения ssh. В данном случае, допустим, адрес моего raspberrypi — 10.1.1.254.
ssh pi@10.1.1.254
Давайте установим некоторые требования для установки visual studio code server.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install 14.4.0
Установите code-server с помощью npm
npm install -g code-server
Теперь нам нужно добавить наш код-сервер в systemctl. Для этого мы воспользуемся модулем pm2.
sudo npm install pm2@latest -g
pm2 start code-server
pm2 startup systemd
Это приведет к созданию команды, скопируйте и вставьте ее. Она должна выглядеть примерно так:
sudo env PATH=$PATH:/home/pi/.nvm/versions/node/v14.4.0/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 save
Теперь перезапустите raspberrypi и, когда он запустится, проверьте статус службы.
Он должен выглядеть следующим образом:
pi@raspberrypi:~ $ systemctl status pm2-pi.service
● pm2-pi.service - PM2 process manager
Loaded: loaded (/etc/systemd/system/pm2-pi.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-03-26 19:33:15 GMT; 1min 59s ago
Docs: https://pm2.keymetrics.io/
Process: 854 ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect (code=exited, status=0/SUCCESS)
Main PID: 932 (node)
Tasks: 11 (limit: 3720)
CGroup: /system.slice/pm2-pi.service
└─932 PM2 v5.2.0: God Daemon (/home/pi/.pm2)
Итак, vscode доступен на localhost:8080, но нам нужно получить к нему доступ извне. Лучший способ сделать это — установить и настроить обратный прокси-сервер nginx.
Установите его, выполнив следующие действия:
sudo apt update
sudo apt upgrade
sudo apt install nginx
Теперь нам нужно открыть сайт:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/code-server
sudo vim /etc/nginx/sites-available/code-server
Закомментируйте конфигурацию сайта по умолчанию и откомментируйте конфигурацию виртуального хоста. Обратите внимание, что параметр location отличается. Просто добавьте приведенный ниже код, изменив порт, который прослушивает ваш код-сервер. В нашем случае мы используем порт 8081 для nginx и 8080 для код-сервера:
server {
listen 8081;
listen [::]:8081;
server_name raspberrypi;
#root /var/www/example.com;
#index index.html;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Проверьте ошибки конфигурации, включите только что созданный сайт и перезапустите службу nginx:
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Вот и все. Теперь вы можете использовать его с вашего ipad, компьютера или любого другого устройства и хранить ваши файлы и расширения централизованно. Вы даже можете открыть его с помощью домашнего маршрутизатора и использовать его в дороге. Но для этого вам потребуется усилить безопасность.
Хотя эта установка автоматически настраивает пароль для веб-страницы (вы можете проверить его в ~/.config/code-server/config.yaml), этого может быть недостаточно для защиты вашего сервера. Поэтому потратьте немного времени на защиту установки.