从 Windows 进行 Linux 开发的最佳设置? [关闭]

2024-02-22

从 Windows 工作站开发 Linux 应用程序的最佳设置是什么?现在,我通过 SSH 连接到我们的 Linux 开发服务器,并使用 Eclipse,通过 PuTTY 通过 SSH 转发到在我的 Windows 工作站上运行的公共域版本的 Xming。它确实有效,但效果并不好; Eclipse 的响应时间远非快速(明显比在速度慢得多的 Windows 工作站上本地运行的 Eclipse 差),我无法调整某些对话框的大小,而且我还没有找到重新配置字体的好方法。

有更好的设置吗?

Edit:这是针对 C/C++ 开发的。


Windows 上的 Linux 选项:

仅工具

鉴于您使用的是 Eclipse,我假设您需要一个完整的 IDE,但如果您可以只使用 GNU/Linux 工具,那么还有几个选择。

  • cygwin http://www.cygwin.com/为您提供带有许多工具的 bash shell,包括 X11 服务器。这已经存在了一段时间并且已经成熟。
  • msys http://www.mingw.org/wiki/msys是 cygwin 的更小、更轻量级的替代品。
  • Win32 的 GNU 实用程序 http://gnuwin32.sourceforge.net/是另一种轻量级的替代方案。这些是工具的本机版本,与 cygwin 不同,cygwin 需要 cygwin DLL 来伪造其工具,使其认为它们在 Linux 上运行。

Windows 进程中的 Linux

有几个软件包可以将 Linux 作为 Windows 进程运行,而无需像虚拟化那样模拟整个 PC。他们使用合作Linux http://www.colinux.org/,又名 coLinux,仅限于 32 位系统。它们没有虚拟化的开销,而且启动速度更快,因为您没有启动虚拟 PC。这只是实验性的,可能不如某些虚拟化选项那么稳定。

  • 便携式Ubuntu http://portableubuntu.demonccc.cloudius.com.ar/
  • andLinux http://www.andlinux.org/

虚拟化

虚拟化软件可让您在虚拟 PC 中启动另一个操作系统,该操作系统与主机操作系统共享硬件。这是经过验证的。这里有一些不错的选项,可以在特定状态下拍摄虚拟 PC 的快照、暂停/恢复虚拟 PC 等。能够尝试虚拟 PC、添加一些软件包,然后恢复到以前的快照,这真是太好了。 “开始干净”。

  • VMWare http://www.vmware.com/
  • 虚拟盒子 http://www.virtualbox.org/
  • 虚拟电脑 http://www.microsoft.com/windows/virtual-pc/

就我而言...

听起来你的环境有不同的性能特征,但这是我的情况:我开始在我的 Windows 笔记本电脑上使用 Eclipse(进行 Rails 开发),发现它很慢,然后改用 putty 来 ssh 到一个快速的 Linux 盒子。我通过在 Linux 服务器上运行的 emacs 进行编辑,并使用 Xming 在 Windows 上显示。或者我在 Windows 上使用本机 emacs,编辑通过 NFS 共享的文件。由于保存缓慢,后者在我的环境中速度较慢。

在家工作时,我放弃了 X,因为它对于远程客户端来说太慢了,只需运行emacs -nw在腻子窗口内。然后我使用GNUscreen这样我就有了多个“窗口”,并且如果我的网络连接中断,我可以轻松地从中断的地方恢复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Windows 进行 Linux 开发的最佳设置? [关闭] 的相关文章

  • Rails 控制台未将 SQL 语句输出到我的开发日志

    当我通过本地主机访问 Webrick 服务器时 或者当我运行 Rails 迁移时 我的development log 会被正确写入 但是 当我使用 rails c 启动 Rails 控制台 然后尝试创建一个新的数据库对象并通过 user s
  • 可移植的 C++ 组件设计

    我过去一直使用 COM 和 NET 程序集来开发基于组件的系统 现在我将从事一个跨平台 C 项目 并希望在组件中构建代码 显然 COM 和 NET 不是一个选项 因为 COM 在任何地方都不可用 但 Windows 和程序集会向 NET 框
  • 如何在 docker 容器中生成与主机用户具有相同所有者的文件

    我使用 docker 容器在 git 存储库中完成一些开发任务 我使用的容器是专门为每个项目构建的 这样每个贡献者只需要 docker CLI 即可完成工作 不好的一面是容器以 root 身份运行 因此一旦容器停止 生成的文件就归 root
  • Silverlight 和 C++ 或 C++ 到 C# 正在进行代码转换吗?

    我正在开发一款基于绘图的产品 我希望按照优先级顺序为 iPhone 桌面 OS X Windows 平板电脑 基于 Silveright 的浏览器 Windows Mobile 和 Windows 生成版本 对于 GUI 可移植性 经典的答
  • 在 Windows 上针对 Mac/Linux 进行编译

    显然 您无法真正在 Windows 上运行 Mac 或 Linux 应用程序 但是您可以使用 MSVC 为这些平台编译二进制文件吗 显然要插入额外的编译器和工具 对于一个严肃的构建系统 您不希望每个平台都有一个构建服务器 因此拥有一个为所有
  • Pipenv 在安装 python 3.6 包时失败

    我正在做一个项目 需要pipenv和Python 3 6 当我跑步时pipenv sync 我收到错误消息 An error occurred while installing django markdown deux 1 0 5 hash
  • 阻止 Google Analytics 在开发环境、ASP.NET MVC 中收集数据

    我有一个 ASP NET MVC 3 应用程序 并且我已经设置了 Google 分析 问题是 每次我从 Visual Studio 运行时 Google 脚本都会开始收集数据 这当然会扭曲实际结果 阻止 Google Analytics 收
  • 如何将 Windows 桌面应用程序转换为 Mac 桌面应用程序?

    我需要将 C NET Windows 桌面应用程序转换为 Mac 我读过有关 Qt REAL Studio LiveCode RunRev wxWidgets 和 Mono 的跨平台方面的内容 www mono project com 和h
  • 将开发团队从 FTP 转换为版本控制系统

    我在一家小型 LAMP 开发工作室工作 那里的想法是完成代码并继续处理列表中的下一项 该团队在 Zend Studio 5 5 中工作 通过 FTP 或 SFTP 连接到 Live 服务器 他们喜欢的是代码部署的速度 因为它只是修改实时代码
  • 确定 Linux 或 Windows 是 C++ 语言

    我正在用 C 编写一个跨平台兼容函数 该函数根据输入文件名创建目录 我需要知道机器是 Linux 还是 Windows 并使用适当的正斜杠或反斜杠 对于下面的代码 如果机器是Linux那么isLinux true 如何确定操作系统 bool
  • 区分大小写的文件系统上的 File.equals

    我有一个字符串形式的文件路径 在 Java 中 我需要确定文件系统上是否存在该文件 并且我们的代码需要跨平台 因为它在 Windows Linux 和 OS X 上运行 问题是文件路径和文件本身的大小写可能不匹配 即使它们确实代表相同的文件
  • C++ 中的跨平台原始数据类型

    与 Java 或 C 不同 C 中的原始数据类型的大小可能因平台而异 例如 int不保证是 32 位整数 各种编译器环境定义数据类型 例如uint32 or dword为此目的 但似乎没有固定大小数据类型的标准包含文件 实现最大可移植性的推
  • FLTK 1.4 小部件位置 w.r.t. X11 根窗口?

    context 我正在和其他人一起编码参考系统 http refpersys org C 17 上的 GPLv3 项目gitlab https gitlab com bstarynk refpersys适用于 GNU Linux x86 6
  • 如何在 C 应用程序中将鼠标光标设置在 X11 上

    我有一个相当大且相当旧的 C 应用程序 已移植到 Linux 上 我负责让鼠标光标正常工作 但遇到一些问题 我能够将我们需要的大部分光标转换为使用提供的标准光标X字体光标 http tronche com gui x xlib append
  • Perl 命令或模块,如 Linux“文件”命令

    我有一个下载文件的脚本 但这些文件在下载之前没有任何有关它们的信息 在为 Linux 编写代码时 我刚刚调用了qx file filename 查看它是否是 JPEG 图像 如果不是则将其删除 然而 我现在正尝试重写为独立于平台的纯 Per
  • 如何在 .NET Core 中设置全局环境变量(用户范围或系统范围)

    在完整的 NET中我们可以通过EnvironmentVariableTarget枚举到Environment SetEnvironmentVariable call public enum EnvironmentVariableTarget
  • 获取主目录的跨平台方式是什么?

    我需要获取当前登录用户的主目录的位置 目前 我在 Linux 上使用了以下命令 os getenv HOME 但是 这在 Windows 上不起作用 执行此操作的正确跨平台方法是什么 你想使用os path expanduser http
  • 用于开发/生产环境的备用 grunt.js 任务

    我真的很希望能够拥有一个开发 grunt 文件并使用相同的文件作为脚本的生产版本 我已经尝试过建议 但是当尝试调用 dev prod 参数时 我的脚本将会失败 我相信答案是针对旧版本的 grunt 或者可能是我正在使用的插件 module
  • 构建涉及 cmake 的项目,如何使其了解库

    当我尝试在 64 位 linux debian 机器上使用 cmake 和 gcc 构建此项目时 我从链接器中收到错误 Linking C executable cpsadamsx home dala lib64 libSimTKcommo
  • 为程序员设置 Mac [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 通过限制性出站防火墙建立 TCP 连接

    我正在使用 Java 创建一个使用 TCP 进行通信的客户端 服务器应用程序 客户端运行的网络具有出站防火墙 可阻止客户端连接到服务器 有什么方法 解决方法可以通过此防火墙创建 TCP 连接吗 我尝试使用开放的常见端口 例如端口 80 44
  • 使用尾递归实现javascript函数

    我有一个代表树的平面数组 我想使用尾递归构建一个嵌套对象 我有以下代码可以运行并生成所需的输出 但我不确定它是否是尾递归的正确实现 请指教 const myArray id root id 0 parent root id 1 parent
  • NuGet Pack - 针对 nuspec 或 csproj 打包的不同问题

    我在这里遇到了第 22 条军规 我正在使用 NuGet 和 TeamCity 我试过做NuGet pack使用 nuspec 文件 我也尝试过使用 csproj 文件 每个人都有自己的问题 在 TeamCity 中 如果我使用nuspec文
  • 节点高速通道-会话管理

    我为 ArangoDB for ConnectJS 编写了一个会话存储驱动程序 它正在工作 尽管仍处于 alpha 阶段 但我有几个问题 过期属性为 false 的第一个会话仅在用户代理的持续时间内保留 我注意到浏览器窗口关闭时不会调用 s
  • 以编程方式获取 SQL 集群虚拟名称

    我编写了一个 Windows 服务来从我们所有的 SQL 服务器收集信息 该服务安装在每台服务器上 并利用 WMI 和 SMO 将相关系统信息插入回中央数据库 为了获取 SQL 信息 我使用以下 C 代码 List
  • 使用 EC2(Amazon Web Services)自动 Ejabberd 集群[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Using Ejabberd http www process one net en ejabberd in EC2 http aws amazon
  • 在 Android 上检测 4K UHD 屏幕

    我正在尝试检测设备何时能够以 4K UHD 3840x2160 分辨率输出 nVidia Shield TV 和 Sony Xperia Z5 Premium 等许多设备即使支持 UHD 也会报告以 1080p 运行 因为它们默认为非视频布
  • Windows 7 左键单击时钟弹出窗口

    当在 Windows 7 也可能是 Vista 上单击任务栏中的时钟时 会打开一个弹出窗口 显示日历和时钟 因此不是日期和时间调整窗口 我如何自己打开这个窗口 在 C 中首选 我希望timedate cpl会调用它 但这会打开日期和时间调整
  • 如何在 Tkinter 中获得带有滚动条的框架?

    我想要一个Frame 用户可以根据应用程序的需要添加任意数量的文本字段 该应用程序以一个文本字段和该文本字段下方的一个按钮开始 当用户按下按钮时 新的文本条目将添加到第一个文本条目下方 这可能会重复无数次 在窗口的中间 会有一个Text小部
  • docker 中的特权模式以集群形式组成

    我在用docker compose yml在具有树莓派集群的 docker swarm 中部署服务 我的服务需要访问树莓派 GPIO 并且需要特权模式 我使用 docker 版本 18 02 和 docker compose 版本 3 6
  • 返回流而不是列表[重复]

    这个问题在这里已经有答案了 在 Java 8 中我越来越多地替换Collection返回值与Stream 所以我曾经拥有过 public List
  • 我可以使用 Google Chrome 扩展程序阻止alert()吗

    我可以创建一个 Google Chrome 扩展来阻止该页面执行alert 正如 MrGlass 所说 目前 Chrome 扩展程序在单独的环境中运行 限制了对实际应用程序的访问 window对象并提供仅对扩展有效的副本 为了解决这个问题
  • Django - 区分不同类型的 IntegrityError

    我正在使用 django MySQL 有时 我将重复的数据插入数据库 这会导致 django 引发错误IntegrityErrror 问题是 django python 对几个不同的版本使用相同的错误MySQL 错误 http dev my
  • write_some 与 write - boost asio

    为什么有人想使用write some什么时候它可能无法将所有数据传输给对等方 从升压write some文档 write some 操作可能不会将所有数据传输到对等方 如果需要确保所有数据都被写入 请考虑使用 write 函数 在阻塞操作完
  • is_numeric、intval、ctype__digit..您可以信赖它们吗?

    is numeric intval ctype digit 您可以信赖它们吗 或者我必须使用正则表达式 function isNum str return preg match 0 9 str 你们有什么感想 我是傻子吗 之间的一个重要区别
  • 如何使用 OpenSSL 提取公钥?

    以下命令生成一个包含公钥和私钥的文件 openssl genrsa des3 out privkey pem 2048 Source here http www openssl org docs HOWTO keys txt 使用OpenS
  • make:安装:找不到命令

    当我尝试安装时git从它的源头开始qnx 我收到以下错误 请注意 pound 是 sudo 的提示qnx configure without iconv with perl usr pkg bin perl with python usr
  • 在哪里可以找到使用 boto3 编写自定义 AWS 凭证提供程序的文档?

    我希望创建一个 python 进程来在运行时刷新临时 AWS 凭证 有效期为 30 分钟 以确保我的代码可以连续运行超过 30 分钟 什么是 RefreshableCredentials 以及如何使用它 经过大量研究后 我终于得出结论 bo
  • 使用jest 模拟react-router-dom 钩子不起作用

    我正在使用 Enzyme 的浅层方法来测试使用useParams钩子从 URL 参数中获取 ID 我试图嘲笑useParams挂钩 这样它就不会调用实际的方法 但它不起作用 我还在得到TypeError Cannot read proper
  • 从 Windows 进行 Linux 开发的最佳设置? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从 Windows 工作站开发 Linux 应用程序的最佳设置是什么 现在 我通过 SSH 连接到我们的 Linux 开发服务器 并使用 Ecl