CLion Full Remote Mode с FreeBSD в качестве удаленного хоста - PullRequest
1 голос
/ 11 апреля 2019

В настоящее время Полный Удаленный Режим CLion поддерживает только Linux как ОС удаленного хоста.Возможно ли иметь удаленный хост FreeBSD?

1 Ответ

2 голосов
/ 11 апреля 2019

Да, вы можете!

Однако учтите, что я вспоминаю эти шаги ретроспективно, поэтому, вероятно, я пропустил один или два шага.Если у вас возникнут какие-либо проблемы, пожалуйста, не стесняйтесь оставлять комментарии ниже.

  1. Аренда сервера FreeBSD, конечно:)

  2. Обновите свойСистема до последней версии.В противном случае вы можете получить странные ошибки, такие как "libdl.so.1" not found при установке пакетов.Я использую FreeBSD 12.0-RELEASE-p3.

  3. Создать учетную запись пользователя.Не забудьте сделать его членом wheel и раскомментировать строку %wheel ALL=(ALL) ALL в /usr/local/etc/sudoers.

  4. Настроить SSH.Этот шаг особенно сложен, потому что нам нужно использовать аутентификацию с открытым ключом и паролем.

    1. Из-за известной ошибки , в некоторых случаях удаленный хост должен использовать парольаутентификации, или вы получите ошибку при настройке цепочки инструментов.Вы можете включить аутентификацию по паролю, установив PasswordAuthentication yes в /etc/ssh/sshd_config, а затем sudo /etc/rc.d/sshd restart.
    2. Похоже, что CLion синхронизирует файлы между локальным и удаленным хостом с rsync и SSH.По некоторым причинам, которые я не могу объяснить, этот процесс будет зависать вечно, если хост-сервер не поддерживает вход по SSH-ключу без пароля.Выполните этот ответ , чтобы создать ключ SSH в качестве дополнительного способа аутентификации.
  5. CLion предполагает, что ОС удаленного хоста - Linux, поэтому мы должны исправитьнекоторые несовместимости между GNU / Linux и FreeBSD.

    1. Установите утилиты GNU с помощью sudo pkg install coreutils.
    2. Переименуйте утилиту BSD stat с помощью sudo mv /usr/bin/stat /usr/bin/_stat.
    3. Создайте «новый» файл /usr/bin/stat с содержимым в Snippet 1 .Этот хак использует тот факт, что CLion устанавливает переменную среды JETBRAINS_REMOTE_RUN в 1 перед запуском команд на удаленном сервере.
    4. Делайте sudo chmod a+x /usr/bin/stat, чтобы сделать его исполняемым.
    5. Снова переименуйтеутилита BSD ls с sudo mv /bin/ls /bin/_ls.
    6. Создайте «новый» файл /bin/ls с содержимым в Snippet 2 , как и раньше.
    7. И наконец,sudo chmod a+x /bin/ls.
  6. Установите зависимости с помощью sudo pkg install rsync cmake gcc gdb gmake.

  7. Теперь вы можете следовать официальным инструкциям ,и подключитесь к своему блестящему хосту FreeBSD!

enter image description here


Фрагмент 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...