c++ - 使用 FreeBSD 作为远程主机的 CLion 完全远程模式
问题描述
目前,CLion 的Full Remote Mode仅支持 Linux 作为远程主机操作系统。是否有可能拥有 FreeBSD 远程主机?
解决方案
是的你可以!
但是,请注意,我正在回顾这些步骤,所以我可能错过了一两步。如果您遇到任何问题,请随时在下面发表评论。
租一台 FreeBSD 服务器,当然 :)
将您的系统更新到最新版本。否则,您可能会遇到奇怪的错误,例如
"libdl.so.1" not found
安装软件包时。我正在使用的是 FreeBSD 12.0-RELEASE-p3。创建一个用户帐户。不要忘记使其成为 的成员
wheel
,并取消注释 中的%wheel ALL=(ALL) ALL
行/usr/local/etc/sudoers
。设置 SSH。这一步特别棘手,因为我们需要同时使用公钥和密码身份验证。
CLion 假定远程主机操作系统是 Linux,因此我们必须修复 GNU/Linux 和 FreeBSD 之间的一些不兼容问题。
- 使用
sudo pkg install coreutils
. - 将 BSD 实用程序重命名
stat
为sudo mv /usr/bin/stat /usr/bin/_stat
. - 使用Snippet 1
/usr/bin/stat
中的内容创建一个“新”文件。这个黑客利用了 CLion在远程服务器上运行命令之前将环境变量设置为的事实。JETBRAINS_REMOTE_RUN
1
- 做
sudo chmod a+x /usr/bin/stat
使它可执行。 - 同样,将 BSD 实用程序重命名
ls
为sudo mv /bin/ls /bin/_ls
. - 像以前一样,使用Snippet 2
/bin/ls
中的内容创建一个“新”文件。 - 最后,
sudo chmod a+x /bin/ls
.
- 使用
使用
sudo pkg install rsync cmake gcc gdb gmake
.- 现在您可以按照官方说明,连接到闪亮的 FreeBSD 主机了!
片段 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
推荐阅读
- r - 在 R 中,Cut 在 1 到 9 和 0.1 到 0.9 的范围内产生不等的间隔
- amazon-ses - 如何将 MailAttachment 转换为 MimeKit 附件
- linux - Bash 脚本 - 无法解决代码“帮助”错误
- server - NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。确保已安装并运行最新的 NVIDIA 驱动程序
- azure - 获取从 Visual Studio 作为 zip 发布的函数应用的 API 定义
- javascript - 未捕获的 RangeError:超过最大调用堆栈大小..禁用并检查不工作
- python - 如何在 django.test.TestCase 类设置函数中使用 pytest `request.config`
- reactjs - 反应最终形式。如何从组件状态设置字段值
- java - Java 后缀运算符优先级
- python - python,通过连接列表动态变量生成列表