CLION完全远程模式,FreeBSD作为远程主机

问题描述 投票:1回答:1

目前,CLion的Full Remote Mode仅支持Linux作为远程主机操作系统。是否可以拥有一个FreeBSD远程主机?

c++ c remote-debugging freebsd clion
1个回答
2
投票

是的你可以!

但是,请注意我回顾性地回顾了这些步骤,所以可能我错过了一两步。如果您遇到任何问题,请随时在下面发表评论。

  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。此步骤特别棘手,因为我们需要使用公钥和密码身份验证。 由于known bug,在某些情况下,远程主机必须使用密码验证,否则在设置工具链时会出错。您可以通过在PasswordAuthentication yes中设置/etc/ssh/sshd_config,然后使用sudo /etc/rc.d/sshd restart来启用密码验证。 似乎CLion使用rsync和SSH同步本地和远程主机之间的文件。由于某些原因我无法解释,如果主机服务器不支持无密码SSH密钥登录,这个过程将永远挂起。按照this answer创建SSH密钥作为另一种身份验证方式。
  5. CLion假设远程主机操作系统是Linux,因此我们必须修复GNU / Linux和FreeBSD之间的一些不兼容问题。 使用sudo pkg install coreutils安装GNU实用程序。 用stat重命名BSD实用程序sudo mv /usr/bin/stat /usr/bin/_stat。 使用Snippet 1中的内容创建一个“新”文件/usr/bin/stat。这个hack利用了CLion在远程服务器上运行命令之前将环境变量JETBRAINS_REMOTE_RUN设置为1的事实。 做sudo chmod a+x /usr/bin/stat使其可执行。 再次,用ls重命名BSD实用程序sudo mv /bin/ls /bin/_ls。 像以前一样用Snippet 2中的内容创建一个“新”文件/bin/ls。 最后,sudo chmod a+x /bin/ls
  6. 使用sudo pkg install rsync cmake gcc gdb gmake安装依赖项。
  7. 现在你可以关注official instructions,并连接到你闪亮的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
© www.soinside.com 2019 - 2024. All rights reserved.