Да, вы можете!
Однако учтите, что я вспоминаю эти шаги ретроспективно, поэтому, вероятно, я пропустил один или два шага.Если у вас возникнут какие-либо проблемы, пожалуйста, не стесняйтесь оставлять комментарии ниже.
Аренда сервера FreeBSD, конечно:)
Обновите свойСистема до последней версии.В противном случае вы можете получить странные ошибки, такие как "libdl.so.1" not found
при установке пакетов.Я использую FreeBSD 12.0-RELEASE-p3.
Создать учетную запись пользователя.Не забудьте сделать его членом wheel
и раскомментировать строку %wheel ALL=(ALL) ALL
в /usr/local/etc/sudoers
.
Настроить SSH.Этот шаг особенно сложен, потому что нам нужно использовать аутентификацию с открытым ключом и паролем.
- Из-за известной ошибки , в некоторых случаях удаленный хост должен использовать парольаутентификации, или вы получите ошибку при настройке цепочки инструментов.Вы можете включить аутентификацию по паролю, установив
PasswordAuthentication yes
в /etc/ssh/sshd_config
, а затем sudo /etc/rc.d/sshd restart
. - Похоже, что CLion синхронизирует файлы между локальным и удаленным хостом с
rsync
и SSH.По некоторым причинам, которые я не могу объяснить, этот процесс будет зависать вечно, если хост-сервер не поддерживает вход по SSH-ключу без пароля.Выполните этот ответ , чтобы создать ключ SSH в качестве дополнительного способа аутентификации.
CLion предполагает, что ОС удаленного хоста - Linux, поэтому мы должны исправитьнекоторые несовместимости между GNU / Linux и FreeBSD.
- Установите утилиты GNU с помощью
sudo pkg install coreutils
. - Переименуйте утилиту BSD
stat
с помощью sudo mv /usr/bin/stat /usr/bin/_stat
. - Создайте «новый» файл
/usr/bin/stat
с содержимым в Snippet 1 .Этот хак использует тот факт, что CLion устанавливает переменную среды JETBRAINS_REMOTE_RUN
в 1
перед запуском команд на удаленном сервере. - Делайте
sudo chmod a+x /usr/bin/stat
, чтобы сделать его исполняемым. - Снова переименуйтеутилита BSD
ls
с sudo mv /bin/ls /bin/_ls
. - Создайте «новый» файл
/bin/ls
с содержимым в Snippet 2 , как и раньше. - И наконец,
sudo chmod a+x /bin/ls
.
Установите зависимости с помощью sudo pkg install rsync cmake gcc gdb gmake
.
- Теперь вы можете следовать официальным инструкциям ,и подключитесь к своему блестящему хосту FreeBSD!
![enter image description here](https://i.stack.imgur.com/y1uMQ.png)
Фрагмент 1
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/usr/bin/_stat" "$@"
else
exec "/usr/local/bin/gnustat" "$@"
fi
Фрагмент 2
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/bin/_ls" "$@"
else
exec "/usr/local/bin/gls" "$@"
fi