发现很多 linux 开发者( or 嵌入式、跨平台开发)都有桌面环境和开发环境不能无缝衔接的痛点,经常看到关于这种需求的解决方案的讨论,目前看起来WSL 1/2是其中做的比较不错的一种,但是仍然各自有各自的缺点(当然相对的也有很多优点)
再说一个个人觉得做的还不错的方案,通过 samba 将 Linux 的 folder 映射为 Windows 的网络驱动器,然后通过 IDE 在 windows 下组件工程项目、编辑源代码,使用 putty 连接等 terminal 连接服务器上去执行 build 、configure 等需要在开发环境才能完成的操作。对于普通的个人开发者而言,则可以将开发环境放入到虚拟机里面。
刚刚突发奇想,是否可以做一种机器,带有一个主 CPU 和一个副 CPU (或者也可以是 fpga ),然后可以同时实时的运行两个操作系统,这样的话感觉看起来似乎可以解决许多痛点。
不知道这种方案是否已经有人在尝试(或者也许根本就不可行?),大家是怎么认为的?
1
anUglyDog 2020-05-20 22:49:41 +08:00
现在的虚拟机里的系统和主系统不是桌面都可以相互嵌进去吗.
|
2
cnbattle 2020-05-20 22:52:33 +08:00 via Android
高个大机箱,组两套硬件
|
3
Jirajine 2020-05-20 22:53:32 +08:00 via Android
最简单的就是双系统,两个系统都可以真机启动也可以在另一个系统的虚拟机里启动。
得益于 UEFI,这样做并不困难。 |
4
lechain OP |
5
nguoidiqua 2020-05-20 22:55:20 +08:00
油管上的 Linus 去年曾经搞过这样的项目,不过是同时运行 Manjaro 和 MacOS,同时 Linux 和 Windows 的话应该难度更低。
|
6
nguoidiqua 2020-05-20 22:58:41 +08:00
印象中,他好像是把一颗 CPU 分成两份,然后两张显卡各管一个系统,可以弄两个显示器分别显示,也可以在一个显示器上对半分。
|
7
amazingrise 2020-05-20 22:59:16 +08:00 via Android
Type I 的 Hypervisor 。虽说它是虚拟化,但是没有 Host OS
|
8
nguoidiqua 2020-05-20 23:02:17 +08:00 1
|
9
lechain OP |
10
felixcode 2020-05-20 23:05:43 +08:00 via Android
你把桌面环境也用 Linux 就完全没这么麻烦了
|
11
cuicuiv5 2020-05-21 00:22:34 +08:00 via iPhone
|
12
laminux29 2020-05-21 02:07:11 +08:00 1
题主你需要的仅仅只是一个双机箱 + 一套视频与键鼠的切换器罢了。可以让你完美切换。
|
13
nvkou 2020-05-21 02:57:37 +08:00 via Android
如果只是编译环境。docker for Windows 为啥不行?用完就关
|
14
secondwtq 2020-05-21 03:11:04 +08:00 via iPhone
我不知道楼主这个想法能解决什么”痛点“……
|
15
mgrddsj 2020-05-21 03:12:59 +08:00 via Android
@nguoidiqua #6 #8
@lechain #9 印象中那个视频是在 Linux 上跑两台虚拟机,只不过虚拟机支持 GPU passthrough, 让把两张显卡分别 passthrough 到两个系统里面。性能上肯定有损耗的。 |
16
naturegreen 2020-05-21 05:09:06 +08:00 via Android
@mgrddsj 应该是 proxmox?
|
17
mgrddsj 2020-05-21 05:14:40 +08:00
@naturegreen #16 重新打开视频看了一眼,是 qemu.
|
18
KamenReborn 2020-05-21 06:35:22 +08:00 via Android
你不如搞两主机,然后弄一套跨平台的键鼠切换,文件共享
|
19
vk42 2020-05-21 06:39:54 +08:00
@mgrddsj GPU passthrough 基本和原生性能差不多了,但是只能独占,支持 SRIOV 的显卡也不是针对桌面应用的
|
20
systemcall 2020-05-21 07:41:05 +08:00 via Android
dfi 以前做过上面带了个 atom 平台的主板,一个一般的 pc+一个 atom 平台
感觉不如用虚拟化,你说的东西装两块显卡,使用 esxi 之类的一类虚拟机就行了,每个 OS 分配一个显卡,性能不会有很大的损失。Linux 的显卡装在 x4 的接口上,只需要低端显卡即可。如果用不到桌面环境,就只需要一个显卡给 Windows 用 另外,有个东西叫做 wsl |
21
deorth 2020-05-21 09:03:29 +08:00
虚拟机不能模拟的硬件你就 passthrough 给客户机呗
|
22
fuxkcsdn 2020-05-21 09:52:33 +08:00
|
23
NonClockworkChen 2020-05-21 09:54:08 +08:00
@secondwtq 穷
|
24
locoz 2020-05-21 14:53:07 +08:00
加拿大白嫖王的虚拟机方案或者双主板机箱方案都可以
|
26
kios 2020-05-21 22:09:40 +08:00
LinusTip 曾经做过这样的节目 可以在 YouTube 上找到
|
27
HangoX 2020-05-22 15:20:34 +08:00
我不知道其他桌面环境怎么样,但是在 mac 上,用 pd 可以很轻松和 window,ubuntu 无缝连接
|
28
zjyl1994 2020-05-23 15:58:08 +08:00 1
双机箱+KVM 切换器,这样公用一套键盘鼠标和显示器,如果你和我一样 Linux 主机用的那种带壁挂孔的工控机,可以直接挂在显示器后面。用的时候按一下切换键 2-3 秒就能切到另一台机器(你要是有预算上好的 KVM 切换器速度还能更快,而且预算更多的切换器还可以带 HUB 直接把一系列外设切过去)
|
29
msg7086 2020-05-24 03:31:36 +08:00 1
两个 CPU 就等于两台电脑了。CPU 是中央处理单元,从 CPU 延伸出来,主板,外围设备,加在一起就构成了一台电脑。如果你打算用两个 CPU,那定义上来说就是两台电脑了。当然,两台电脑放在一个机箱里是很常见的,可以看看蓝猫家的各种双子星方案,包括很多小型刀片机也都是这种设计,一个机箱和一组电源,里面放多个 CPU 和多块主板。
|
30
Wondertainment 2020-07-07 21:03:28 +08:00 1
我是 Manjaro 做 host 系统 , 用 kvm 跑 Windows 做 guest 系统。有两张显卡,其中一张直接通过 pcie-passthrough 分给 windows 。这样两张显卡能分别做两个系统的显示输出。两个系统也是同时运行的。性能的话,3900X, kvm 后 cinebench 的成绩从 7700 降到了 7300,还可以接受。
|