标签 Windows 下的文章

DroidScript 软件被谷歌关闭后,开发者被蒙在鼓里

报道,3 月的最后一天,DroidScript,一个用于编写 JavaScript 代码的流行的安卓应用,因涉嫌广告欺诈,其谷歌广告账户被暂停,一周后被从谷歌商店中删除。该应用背后的公司称,这个应用程序只有一个横幅,是“为了支付我们的开发和托管费用而勉强添加的”,要求谷歌解释它是如何得出这一结论的,并重新考虑暂停DroidScript的做法,但只得到形式上的信件回复。

即便是该公司又创建了一个没有 AdMob 横幅广告的新版本,但谷歌在 4 月 7 日暂停了该应用在 Google Play 上的使用,阻止了任何新版本的发布。

现在这个被包括学生、教师和专业人士在内的 10 多万名开发者使用的应用程序正在失去高级用户以及广告收入。

我觉得至少该给一个申诉的机会吧。

Fedora 34 正式版发布

Fedora 34 已经成功地从 PulseAudio 切换到 PipeWire 来满足其音频需求,并继续使用 Btrfs 作为默认的文件系统,而在此基础上已经默认启用了基于 Zstd 的透明文件系统压缩能力。系统工具链升级为GCC 11 / Binutils 2.35 / Glibc 2.33 / LLVM 12 的组合。除了GNOME 40作为Fedora工作站34的默认桌面,Fedora 34 还提供了最新的 KDE、Xfce 4.16、LXQt 0.16 和其他桌面选择。Wayland 默认用于 Fedora KDE Plasma 桌面版本。

喜欢尝鲜的同学可以马上去试试了。

微软称 Windows 10 目前已有 13 亿台月活设备

去年 3 月,微软表示,Windows 10 已经达到其长期承诺的 10 亿台月活设备目标。4 月 27 日,微软正式表示,Windows 10 现在已经达到 13 亿台月活设备目标。

2015 年,微软表示,他们预计到 2018 年夏末,Windows 10 将出现在 10 亿台设备上。但实际上我们看到这一目标在 2020 年才达到。

全球疫情改变了很多,但是远程办公意外地对某些行业形成了极大助推。

下面是我如何配置 VirtualBox 虚拟机以在我的 Linux 工作站上使用物理的 Windows 操作系统。

 title=

我经常使用 VirtualBox 来创建虚拟机来测试新版本的 Fedora、新的应用程序和很多管理工具,比如 Ansible。我甚至使用 VirtualBox 来测试创建一个 Windows 访客主机。

我从来没有在我的任何一台个人电脑上使用 Windows 作为我的主要操作系统,甚至也没在虚拟机中执行过一些用 Linux 无法完成的冷门任务。不过,我确实为一个需要使用 Windows 下的财务程序的组织做志愿者。这个程序运行在办公室经理的电脑上,使用的是预装的 Windows 10 Pro。

这个财务应用程序并不特别,一个更好的 Linux 程序 可以很容易地取代它,但我发现许多会计和财务主管极不愿意做出改变,所以我还没能说服我们组织中的人迁移。

这一系列的情况,加上最近的安全恐慌,使得我非常希望将运行 Windows 的主机转换为 Fedora,并在该主机上的虚拟机中运行 Windows 和会计程序。

重要的是要明白,我出于多种原因极度不喜欢 Windows。主要原因是,我不愿意为了在新的虚拟机上安装它而再花钱购买一个 Windows 许可证(Windows 10 Pro 大约需要 200 美元)。此外,Windows 10 在新系统上设置时或安装后需要足够的信息,如果微软的数据库被攻破,破解者就可以窃取一个人的身份。任何人都不应该为了注册软件而需要提供自己的姓名、电话号码和出生日期。

开始

这台实体电脑已经在主板上唯一可用的 m.2 插槽中安装了一个 240GB 的 NVMe m.2 的 SSD 存储设备。我决定在主机上安装一个新的 SATA SSD,并将现有的带有 Windows 的 SSD 作为 Windows 虚拟机的存储设备。金士顿在其网站上对各种 SSD 设备、外形尺寸和接口做了很好的概述。

这种方法意味着我不需要重新安装 Windows 或任何现有的应用软件。这也意味着,在这台电脑上工作的办公室经理将使用 Linux 进行所有正常的活动,如电子邮件、访问 Web、使用 LibreOffice 创建文档和电子表格。这种方法增加了主机的安全性。唯一会使用 Windows 虚拟机的时间是运行会计程序。

先备份

在做其他事情之前,我创建了整个 NVMe 存储设备的备份 ISO 镜像。我在 500GB 外置 USB 存储盘上创建了一个分区,在其上创建了一个 ext4 文件系统,然后将该分区挂载到 /mnt。我使用 dd 命令来创建镜像。

我在主机中安装了新的 500GB SATA SSD,并从 临场 live USB 上安装了 Fedora 32 Xfce 偏好版 spin 。在安装后的初次重启时,在 GRUB2 引导菜单上,Linux 和 Windows 操作系统都是可用的。此时,主机可以在 Linux 和 Windows 之间进行双启动。

在网上寻找帮助

现在我需要一些关于创建一个使用物理硬盘或 SSD 作为其存储设备的虚拟机的信息。我很快就在 VirtualBox 文档和互联网上发现了很多关于如何做到这一点的信息。虽然 VirtualBox 文档初步帮助了我,但它并不完整,遗漏了一些关键信息。我在互联网上找到的大多数其他信息也很不完整。

在我们的记者 Joshua Holm 的帮助下,我得以突破这些残缺的信息,并以一个可重复的流程来完成这项工作。

让它发挥作用

这个过程其实相当简单,虽然需要一个玄妙的技巧才能实现。当我准备好这一步的时候,Windows 和 Linux 操作系统已经到位了。

首先,我在 Linux 主机上安装了最新版本的 VirtualBox。VirtualBox 可以从许多发行版的软件仓库中安装,也可以直接从 Oracle VirtualBox 仓库中安装,或者从 VirtualBox 网站上下载所需的包文件并在本地安装。我选择下载 AMD64 版本,它实际上是一个安装程序而不是一个软件包。我使用这个版本来规避一个与这个特定项目无关的问题。

安装过程总是在 /etc/group 中创建一个 vboxusers 组。我把打算运行这个虚拟机的用户添加到 /etc/group 中的 vboxusersdisk 组。将相同的用户添加到 disk 组是很重要的,因为 VirtualBox 是以启动它的用户身份运行的,而且还需要直接访问 /dev/sdx 特殊设备文件才能在这种情况下工作。将用户添加到 disk 组可以提供这种级别的访问权限,否则他们就不会有这种权限。

然后,我创建了一个目录来存储虚拟机,并赋予它 root.vboxusers 的所有权和 775 的权限。我使用 /vms 用作该目录,但可以是任何你想要的目录。默认情况下,VirtualBox 会在创建虚拟机的用户的子目录中创建新的虚拟机。这将使多个用户之间无法共享对虚拟机的访问,从而不会产生巨大的安全漏洞。将虚拟机目录放置在一个可访问的位置,可以共享虚拟机。

我以非 root 用户的身份启动 VirtualBox 管理器。然后,我使用 VirtualBox 的“ 偏好 Preferences => 一般 General ”菜单将“ 默认机器文件夹 Default Machine Folder ”设置为 /vms 目录。

我创建的虚拟机没有虚拟磁盘。“ 类型 Type ” 应该是 Windows,“ 版本 Version ”应该设置为 Windows 10 64-bit。为虚拟机设置一个合理的内存量,但只要虚拟机处于关闭状态,以后可以更改。在安装的“ 硬盘 Hard disk ”页面,我选择了 “ 不要添加虚拟硬盘 Do not add a virtual hard disk ”,点击“ 创建 Create ”。新的虚拟机出现在VirtualBox 管理器窗口中。这个过程也创建了 /vms/Test1 目录。

我使用“ 高级 Advanced ”菜单在一个页面上设置了所有的配置,如图 1 所示。“ 向导模式 Guided Mode ”可以获得相同的信息,但需要更多的点击,以通过一个窗口来进行每个配置项目。它确实提供了更多的帮助内容,但我并不需要。

VirtualBox 对话框:创建新的虚拟机,但不添加硬盘

图 1:创建一个新的虚拟机,但不要添加硬盘。

然后,我需要知道 Linux 给原始 Windows 硬盘分配了哪个设备。在终端会话中以 root 身份使用 lshw 命令来发现 Windows 磁盘的设备分配情况。在本例中,代表整个存储设备的设备是 /dev/sdb

# lshw -short -class disk,volume
H/W path           Device      Class          Description
=========================================================
/0/100/17/0        /dev/sda    disk           500GB CT500MX500SSD1
/0/100/17/0/1                  volume         2047MiB Windows FAT volume
/0/100/17/0/2      /dev/sda2   volume         4GiB EXT4 volume
/0/100/17/0/3      /dev/sda3   volume         459GiB LVM Physical Volume
/0/100/17/1        /dev/cdrom  disk           DVD+-RW DU-8A5LH
/0/100/17/0.0.0    /dev/sdb    disk           256GB TOSHIBA KSG60ZMV
/0/100/17/0.0.0/1  /dev/sdb1   volume         649MiB Windows FAT volume
/0/100/17/0.0.0/2  /dev/sdb2   volume         127MiB reserved partition
/0/100/17/0.0.0/3  /dev/sdb3   volume         236GiB Windows NTFS volume
/0/100/17/0.0.0/4  /dev/sdb4   volume         989MiB Windows NTFS volume
[root@office1 etc]#

VirtualBox 不需要把虚拟存储设备放在 /vms/Test1 目录中,而是需要有一种方法来识别要从其启动的物理硬盘。这种识别是通过创建一个 *.vmdk 文件来实现的,该文件指向将作为虚拟机存储设备的原始物理磁盘。作为非 root 用户,我创建了一个 vmdk 文件,指向整个 Windows 设备 /dev/sdb

$ VBoxManage internalcommands createrawvmdk -filename /vms/Test1/Test1.vmdk -rawdisk /dev/sdb
RAW host disk access VMDK file /vms/Test1/Test1.vmdk created successfully.

然后,我使用 VirtualBox 管理器 “ 文件 File => 虚拟介质管理器 Virtual Media Manager ” 对话框将 vmdk 磁盘添加到可用硬盘中。我点击了“ 添加 Add ”,文件管理对话框中显示了默认的 /vms 位置。我选择了 Test1 目录,然后选择了 Test1.vmdk 文件。然后我点击“ 打开 Open ”,Test1.vmdk 文件就显示在可用硬盘列表中。我选择了它,然后点击“ 关闭 Close ”。

下一步就是将这个 vmdk 磁盘添加到我们的虚拟机的存储设备中。在 “Test1 VM” 的设置菜单中,我选择了 “ 存储 Storage ”,并点击了添加硬盘的图标。这时打开了一个对话框,在一个名为“ 未连接 Not attached ”的列表中显示了 Test1vmdk 虚拟磁盘文件。我选择了这个文件,并点击了“ 选择 Choose ”按钮。这个设备现在显示在连接到 “Test1 VM” 的存储设备列表中。这个虚拟机上唯一的其他存储设备是一个空的 CD/DVD-ROM 驱动器。

我点击了“ 确定 OK ”,完成了将此设备添加到虚拟机中。

在新的虚拟机工作之前,还有一个项目需要配置。使用 VirtualBox 管理器设置对话框中的 “Test1 VM”,我导航到 “ 系统 System => 主板 Motherboard ”页面,并在 “ 启用 EFI Enable EFI ”的方框中打上勾。如果你不这样做,当你试图启动这个虚拟机时,VirtualBox 会产生一个错误,说明它无法找到一个可启动的介质。

现在,虚拟机从原始的 Windows 10 硬盘驱动器启动。然而,我无法登录,因为我在这个系统上没有一个常规账户,而且我也无法获得 Windows 管理员账户的密码。

解锁驱动器

不,本节并不是要破解硬盘的加密,而是要绕过众多 Windows 管理员账户之一的密码,而这些账户是不属于组织中某个人的。

尽管我可以启动 Windows 虚拟机,但我无法登录,因为我在该主机上没有账户,而向人们索要密码是一种可怕的安全漏洞。尽管如此,我还是需要登录这个虚拟机来安装 “VirtualBox Guest Additions”,它可以提供鼠标指针的无缝捕捉和释放,允许我将虚拟机调整到大于 1024x768 的大小,并在未来进行正常的维护。

这是一个完美的用例,Linux 的功能就是更改用户密码。尽管我是访问之前的管理员的账户来启动,但在这种情况下,他不再支持这个系统,我也无法辨别他的密码或他用来生成密码的模式。我就直接清除了上一个系统管理员的密码。

有一个非常不错的开源软件工具,专门用于这个任务。在 Linux 主机上,我安装了 chntpw,它的意思大概是:“更改 NT 的密码”。

# dnf -y install chntpw

我关闭了虚拟机的电源,然后将 /dev/sdb3 分区挂载到 /mnt 上。我确定 /dev/sdb3 是正确的分区,因为它是我在之前执行 lshw 命令的输出中看到的第一个大的 NTFS 分区。一定不要在虚拟机运行时挂载该分区,那样会导致虚拟机存储设备上的数据严重损坏。请注意,在其他主机上分区可能有所不同。

导航到 /mnt/Windows/System32/config 目录。如果当前工作目录(PWD)不在这里,chntpw 实用程序就无法工作。请启动该程序。

# chntpw -i SAM
chntpw version 1.00 140201, (c) Petter N Hagen
Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>
File size 131072 [20000] bytes, containing 11 pages (+ 1 headerpage)
Used for data: 367/44720 blocks/bytes, unused: 14/24560 blocks/bytes.

<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives: <SAM>

  1 - Edit user data and passwords
  2 - List groups
      - - -
  9 - Registry editor, now with full write support!
  q - Quit (you will be asked if there is something to save)


What to do? [1] ->

chntpw 命令使用 TUI(文本用户界面),它提供了一套菜单选项。当选择其中一个主要菜单项时,通常会显示一个次要菜单。按照明确的菜单名称,我首先选择了菜单项 1

What to do? [1] -> 1

===== chntpw Edit User Info & Passwords ====

| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator                  | ADMIN  | dis/lock |
| 03eb | john                           | ADMIN  | dis/lock |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Guest                          |        | dis/lock |
| 01f8 | WDAGUtilityAccount             |        | dis/lock |

Please enter user number (RID) or 0 to exit: [3e9]

接下来,我选择了我们的管理账户 john,在提示下输入 RID。这将显示用户的信息,并提供额外的菜单项来管理账户。

Please enter user number (RID) or 0 to exit: [3e9] 03eb
================= USER EDIT ====================

RID     : 1003 [03eb]
Username: john
fullname:
comment :
homedir :

00000221 = Users (which has 4 members)
00000220 = Administrators (which has 5 members)

Account bits: 0x0214 =
[ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 47

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Unlock and enable user account [probably locked now]
 3 - Promote user (make user an administrator)
 4 - Add user to a group
 5 - Remove user from a group
 q - Quit editing user, back to user select
Select: [q] > 2

这时,我选择了菜单项 2,“ 解锁并启用用户账户 Unlock and enable user account ”,这样就可以删除密码,使我可以不用密码登录。顺便说一下 —— 这就是自动登录。然后我退出了该程序。在继续之前,一定要先卸载 /mnt

我知道,我知道,但为什么不呢! 我已经绕过了这个硬盘和主机的安全问题,所以一点也不重要。这时,我确实登录了旧的管理账户,并为自己创建了一个新的账户,并设置了安全密码。然后,我以自己的身份登录,并删除了旧的管理账户,这样别人就无法使用了。

网上也有 Windows Administrator 账号的使用说明(上面列表中的 01f4)。如果它不是作为组织管理账户,我可以删除或更改该账户的密码。还要注意的是,这个过程也可以从目标主机上运行临场 USB 来执行。

重新激活 Windows

因此,我现在让 Windows SSD 作为虚拟机在我的 Fedora 主机上运行了。然而,令人沮丧的是,在运行了几个小时后,Windows 显示了一条警告信息,表明我需要“激活 Windows”。

在看了许许多多的死胡同网页之后,我终于放弃了使用现有激活码重新激活的尝试,因为它似乎已经以某种方式被破坏了。最后,当我试图进入其中一个在线虚拟支持聊天会话时,虚拟的“获取帮助”应用程序显示我的 Windows 10 Pro 实例已经被激活。这怎么可能呢?它一直希望我激活它,然而当我尝试时,它说它已经被激活了。

或者不

当我在三天内花了好几个小时做研究和实验时,我决定回到原来的 SSD 启动到 Windows 中,以后再来处理这个问题。但后来 Windows —— 即使从原存储设备启动,也要求重新激活。

在微软支持网站上搜索也无济于事。在不得不与之前一样的自动支持大费周章之后,我拨打了提供的电话号码,却被自动响应系统告知,所有对 Windows 10 Pro 的支持都只能通过互联网提供。到现在,我已经晚了将近一天才让电脑运行起来并安装回办公室。

回到未来

我终于吸了一口气,购买了一份 Windows 10 Home,大约 120 美元,并创建了一个带有虚拟存储设备的虚拟机,将其安装在上面。

我将大量的文档和电子表格文件复制到办公室经理的主目录中。我重新安装了一个我们需要的 Windows 程序,并与办公室经理验证了它可以工作,数据都在那里。

总结

因此,我的目标达到了,实际上晚了一天,花了 120 美元,但使用了一种更标准的方法。我仍在对权限进行一些调整,并恢复 Thunderbird 通讯录;我有一些 CSV 备份,但 *.mab 文件在 Windows 驱动器上包含的信息很少。我甚至用 Linux 的 find 命令来定位原始存储设备上的所有。

我走了很多弯路,每次都要自己重新开始。我遇到了一些与这个项目没有直接关系的问题,但却影响了我的工作。这些问题包括一些有趣的事情,比如把 Windows 分区挂载到我的 Linux 机器的 /mnt 上,得到的信息是该分区已经被 Windows 不正确地关闭(是的,在我的 Linux 主机上),并且它已经修复了不一致的地方。即使是 Windows 通过其所谓的“恢复”模式多次重启后也做不到这一点。

也许你从 chntpw 工具的输出数据中发现了一些线索。出于安全考虑,我删掉了主机上显示的其他一些用户账号,但我从这些信息中看到,所有的用户都是管理员。不用说,我也改了。我仍然对我遇到的糟糕的管理方式感到惊讶,但我想我不应该这样。

最后,我被迫购买了一个许可证,但这个许可证至少比原来的要便宜一些。我知道的一点是,一旦我找到了所有必要的信息,Linux 这一块就能完美地工作。问题是处理 Windows 激活的问题。你们中的一些人可能已经成功地让 Windows 重新激活了。如果是这样,我还是想知道你们是怎么做到的,所以请把你们的经验添加到评论中。

这是我不喜欢 Windows,只在自己的系统上使用 Linux 的又一个原因。这也是我将组织中所有的计算机都转换为 Linux 的原因之一。只是需要时间和说服力。我们只剩下这一个会计程序了,我需要和财务主管一起找到一个适合她的程序。我明白这一点 —— 我喜欢自己的工具,我需要它们以一种最适合我的方式工作。


via: https://opensource.com/article/21/1/virtualbox-windows-linux

作者:David Both 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你想尝试在 Windows 10 中设置一个或多个 Ubuntu 虚拟机进行自己的实验,请按照以下步骤进行。

1、启用 Hyper-V 平台

所有 64 位 Windows 10 专业版、企业版和教育版都内置了这个 管理程序 hypervisor ,但默认情况下并没有启用。在在旧电脑上启用该功能之前,你可能需要打开一些固件选项。有关完整说明,请参阅“Windows 10:如何启用 Hyper-V 并创建虚拟机”。

2、使用快速创建工具来下载并安装 Ubuntu 虚拟机

Hyper-V 提供了两种创建新虚拟机的方法。老式的方法是通过一个繁琐的多步骤向导来点击。更简单的解决方案是使用 Hyper-V 的“快速创建”工具。你可以在 Hyper-V 管理器的右侧窗格中找到一个快捷方式,或者你可以直接在 Windows 10 搜索框搜索 Vmcreate.exe 命令打开它。

从左侧的陈列栏中选择一个 Ubuntu 版本,然后点击“创建虚拟机”按钮。这将需要下载 1.6GB(18.04.3 LTS)到 2GB(更近的版本)。下载完成后,该“快速创建”功能会提取镜像、配置虚拟机,然后显示一个对话框,告诉你虚拟机已成功创建。

3、调整一些设置

虽然你可以通过点击“连接”立即开始,但如果你的 Windows 10 主机上有足够的资源,我建议你点击“编辑设置”,以便你可以先进行一些调整。

我建议你在第一次运行虚拟机之前编辑一些设置

从新虚拟机的硬件列表中选择“内存”,然后将分配的 RAM 从其默认值 2048 改为 4096,这应该会带来更好的性能。如果你想要一个固定数量的虚拟内存,你也可以禁用动态内存。你可能还希望将系统磁盘的大小从其默认的 12GB 提升到更多。单击“硬盘驱动器”,然后单击“编辑”,并按照提示操作,直到进行到“扩展”命令那一步。

根据需要调整分配给你的 Linux 虚拟机的内存

最后,在“管理”标题下,单击“检查点”,然后清除“使用自动检查点”框。(如果你希望能够回滚更改,可以随时手动创建检查点。)

这些调整完毕后,可以关闭“设置”对话框,并首次打开虚拟机。

4、设置你的用户账户

运行 Ubuntu 的系统配置,选择你的默认语言、时区等。当你进入创建登录凭证的界面时,将默认设置保留在“需要我的密码才能登录”。

虽然听起来很方便,但不要启用自动登录功能。如果你选择此选项,将无法使用增强型会话登录,并且你的虚拟机将被迫在一个相对较小的窗口中运行,其默认分辨率无法轻松更改。

这也是运行“系统更新管理器”应用程序并获取最新 Ubuntu 更新的好时机。(点击左下角的 Ubuntu 图标,使用搜索框找到该应用。)

5、使用增强版会话登录

如果你在“虚拟机连接”窗口中看到这个对话框,你就会知道已经启动了一个增强的会话:

将该滑块移至最右侧,以全屏方式运行虚拟机

滑动开关来选择你的显示分辨率。我喜欢将滑块向右移动,到全屏位置。如果你有多个显示器,并希望虚拟机跨越它们,请选择 “使用所有我的显示器”复选框。单击“连接”继续,打开 Xrdp 登录对话框,如图所示:

登录到 Xrdp 以启动增强型 Hyper-V 会话

输入你在创建 Ubuntu Linux 账户时设置的用户名和密码,然后点击“确定”。假设大神们没有生气,你就会登录到你的虚拟机上,可以开始工作了。如果你还没有在你要连接的会话上登录,可能需要第二次输入密码。(如果你得到一个黑屏,尝试按回车键。)

如果你使用 18.04.3 LTS 虚拟机,所有这些都应该可以正常工作。如果你使用的是 Ubuntu 19.10,你可能要经历我所做的同样令人沮丧的一次次重启,然后一切才能正常工作。

对于 Ubuntu 20.04 来说,在基本会话中一切都很正常,但是在我编辑 /etc/xrdp 中的 Xrdp.ini 文件之前,运行增强会话的选项是不可用的。这是一个受保护的位置,所以我不得不用管理员的凭证打开一个编辑器,这个任务既不直观也不容易。

我必须修改 ini 文件中的两行内容。首先,把 port=3389 改为 port=vsock://-1:3389。然后把 use_vsock=true 改为 use_vsock=false。关闭虚拟机连接窗口并再次连接到虚拟机,你应该可以启动增强型会话。但你可能还需要召唤一些小神灵,烧一些香。毕竟,这是 Linux。

(正如我之前所提到的,Canonical/微软团队将在 20.04.1 更新中对该镜像进行修复,所以到时候 xrdp.ini 文件不需要编辑了。)

而你现在就只能靠自己了。你必须找到能让你完成实际工作的生产力软件。如果你像我一样,主要使用微软的服务,准备好接受一大堆的挫折吧。

微软目前没有任何适用于 Linux 的 Office 应用程序,所以你需要从 Web 浏览器访问你的文件。(是的,有 Linux 的 Office 克 隆版,包括 LibreOffice 套件,它是微软 Office 2007 的忠实克隆版。它……勉强够用。)

在 Ubuntu Linux 20.04 中,我可以直接连接 Google Drive,这样那些云端备份的文件就直接出现在文件应用中。还可以使用一个易于安装的 Dropbox 应用。但是 OneDrive 呢?那就不一定了。有一个开源的第三方同步客户端,但安装时需要半打以上的依赖包,我没有耐心也没有信心完成这个过程。

Ubuntu Linux 中的默认浏览器是 Mozilla Firefox,它在 18.04.3 LTS 版本上工作得足够好,但在 20.04 版本中却很卡顿。微软表示,它计划为 Linux 发布基于 Chromium 的新 Edge,但到目前为止,这还只是一个排期。从好的方面来看,有一个做得非常好的微软 Teams 客户端,它可以提供一个原生的 .deb 包来安装。

虽然整体体验出乎意料的流畅,但有太多的时刻,运行 Linux 对我来说感觉略显磕磕绊绊。比如在 20.04 版本中,Firefox 会将包文件下载到一个临时文件夹,在那里无法正常打开。当我弄清楚我必须把这些文件移到下载目录下,一切都好了。(请注意, Google Chrome 浏览器的下载会默认到正确的位置。)

另一方面,如果你的工作日是在谷歌生态系统中度过的,Linux 可能会感到非常舒适。在安装 Chrome 浏览器和设置 G Suite 之后,这个虚拟机基本上就是一个略显廉价的 Chromebook。

我是不是要改用 Linux 作为主要操作系统?呃,不会。但我会让这些虚拟机继续服务,并定期检查。因为你永远不知道会……


via: https://www.zdnet.com/article/microsoft-helped-me-install-ubuntu-linux-on-my-windows-10-pc-and-its-actually-pretty-good/

作者:Ed Bott 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

泄露的 Windows XP 代码经用户编译为可运行的系统

上周在 4chan 网上泄露的 Windows XP 和 Windows Server 2003 源代码,在一位用户将代码编译成可运行的操作系统后,已被证实是真实的。NTDEV 是上周下载代码的数百万用户之一,他决定编译代码,自己去判断代码真假。根据网上分享的视频,这位业余 IT 技术人员在周末成功编译了 Windows XP 代码,昨天又成功编译了 Windows Server 2003。

来源:zdnet

拍一拍:这种实锤方法令人惊叹!

Khronos 开源新 OpenCL SDK,并发布 OpenCL 3.0 规范

OpenCL 3.0 主要变化还是让 OpenCL 2 的功能成为可选,所以 OpenCL 3.0 适合更多的设备和环境,但也增加了新的扩展,围绕着能够在给定的 OpenCL 驱动/设备上获得 UUID,还增加了异步 DMA 功能,有助于 OpenCL 3.0 对嵌入式处理器的工作。

来源:cnbeta

拍一拍:以防你不知道,OpenCL 是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境。

开发者再次尝试让摩托罗拉 68000 系列进入 LLVM 上游

摩托罗拉 68000 系列(M68k)处理器在 80 年代就已经出现了,这要归功于早期苹果 Macintosh 电脑。到 2020 年,M68k 仍然是复古电脑爱好者和业余爱好者的热门目标。这已经不是第一次提出对 LLVM 的 M68k 支持了。

来源:phoronix

拍一拍:这是一种计算机考古需要。

近日,著名开源领袖、写出《大教堂与集市》的 ESR(Eric S. Raymond)撰文指出,微软的 Windows 可能最后会切换到 Linux 内核,成为一个保留 Windows 界面的 Linux。微软目前的主要收入来源于其云服务,而操作系统业务对微软来说,所能贡献的利润比例会越来越少。Windows 将来可能是运行于 Linux 内核之上的一个桌面环境和一个越来越薄的 Windows 兼容层 —— 以兼容原有的 Windows 二进制程序。

对于 ESR 的这个观点,老王是赞同的:

这些年来,随着云技术的发展,越来越多的操作系统厂商将业务重点从单机操作系统转向云基础设施。在这一点上,从著名的 Linux 发行版 Ubuntu 的发行商 Canonical 身上也可见一斑。

而另一方面,不说谷歌的 Chromebook 上运行的 Chrome OS,主流的操作系统 macOS 也早已针对 Apple 公司的硬件免费提供。在这种情况下,操作系统已经不是早些年的现金奶牛了。

从微软这几年发布的 Windows 的更新中屡屡出现严重问题所反映出的其内部质控环境的劣化,可见微软已经逐步减少了对操作系统部门的投入。因此,ESR 的这个预测可谓有一定的道理。

看来,我们终将能看到 Linux 打败 Windows 的一天,真正地、彻底地解决 “Ubuntu 第一号 bug”。或许,这不能称之为打败,相对于 Linux 在服务器领域、移动领域、高性能计算领域的高歌猛进,Linux 一直在桌面领域方面进展乏力,这应该说是 Linux 和 Windows 的融合更加合适。

以下是 ESR 的原文译文:

桌面战争的最后阶段?

在微软 Windows 操作系统最近的发展中,最令人感兴趣的两个发展是 Windows System for Linux(WSL)和他们将微软 Edge 浏览器移植到 Ubuntu。

对于那些没有注意到的人来说,WSL 允许未经修改的 Linux 二进制文件在 Windows 10 下运行。没有仿真层,没有中间层,它们只需加载就能运行。

微软开发人员现在正在 Linux 内核中提供功能来改进 WSL。而这指向了一个迷人的技术方向。为了理解其中的原因,我们需要注意到自 2010 年推出云服务以来,微软的收入来源是如何变化的。

在十年后,Azure 为微软提供了大部分的创收。Windows 的垄断地位已经成为一个旁观者,传统台式电脑(这是它唯一占据主导地位的市场)的销量在下降。相应地,花在 Windows 开发上的投资回报率也在下降。随着 PC 的销量持续下滑,它不可避免地将不再是利润中心,而变成业务的拖累。

从冷血的利润最大化的角度来看,这意味着继续开发 Windows 是微软宁愿不做的事情。相反,他们最好把更多的资本投入到 Azure 上 —— 据说现在 Azure 运行的 Linux 实例比 Windows 还多。

我们的第三个理由是 Proton。Proton 是一个仿真层,它允许在 Linux 上运行 Steam 上发布的 Windows 游戏。它还不够完美,但已经很接近完美了。我自己就用它在这个巨兽上玩《战舰世界》。

对于游戏而言,它们是对 Windows 仿真层最苛刻的压力测试,比商业软件更苛刻。我们可能已经到了类似 Proton 的技术完全可以在 Linux 上运行 Windows 商业软件的地步。如果还没有,那我们很快就会实现。

那么,如果你是微软公司的战略专家,考虑到所有这些因素,利润最大化的前进道路是什么?

它会是这样:微软 Windows 成为 Linux 内核上的 Proton 一样的模拟层。随着时间的推移,这个层会越来越薄,因为更多的支持会落在主线内核源代码上。而经济上的动机是,由于需要在公司内部完成的开发成本越来越少,因此微软可以减去越来越多的开发成本。

如果你认为这是天方夜谭,那你可以再思考一下。证明这已经是(微软的)计划的最好证据是,微软已经将 Edge 移植到 Linux 下运行。这只有这种方式是有意义的:那就是作为一个试运行,让 Windows 实用程序套件的其他部分摆脱对任何仿真层的依赖。

所以,这一切指向的最终状态是。新的 Windows 将主要是一个 Linux 内核,在它上面有一个旧的 Windows 仿真层,但 Edge 和其余的 Windows 用户空间实用程序并不使用仿真。仿真层是为了游戏和其他传统的第三方软件而存在的。

经济上的压力会让微软取消仿真层。部分原因是它完全是一个成本中心。部分原因是因为他们想降低运行 Azure 的复杂性成本。 Windows/Linux 每一点融合都有助于实现这一点 —— 可以减少管理和预期的支持费用。

最终,微软将会宣布结束对 Windows 的仿真。操作系统本身,以及它的用户空间工具,一段时间后,会在一个精心保存的旧 Windows 用户界面下成为 Linux。第三方软件供应商会停止发布 Windows 二进制文件,转而采用原生 Linux API 的 ELF 二进制文件……。

……而 Linux 终将赢得桌面战争,不是通过取代 Windows,而是通过合作。也许这一直是它必须要做的事情。

Linux 基金会:禁令不会影响我们与字节跳动和腾讯的协作

近日,因为 TikTok 最近在其官网发布了一项“开源软件声明”,让部分人开始担心美国政府的禁令会对开源领域带来负面影响。对此,Linux 基金会 9 月 18 日也在官网发布博文回应,称:“禁令中的任何内容都不会阻止或影响我们与开源生态系统中两个重要成员——腾讯和字节跳动进行开放协作的能力。”

来源:techweb

微软已移除 Windows 10 中用于通话的相关代码

尽管不少 Windows Phone 爱好者依然期待着微软能够推出后续产品,而等来的却是运行 Android 系统的 Surface Duo。根据网友近日发现,通话相关的 GUID 随着 2020 年 3 月发布的预览版就已经删除了。这意味着适用于手机端的 Windows 确实已经死亡了。

来源:cnbeta

Swift System 库现已开源并支持 Linux

6 月,苹果公司推出了 Swift System,这是苹果平台的一个新库,为系统调用和低级货币类型提供了接口。今天,Swift 宣布开源 Swift System,并增加对 Linux 的支持。

来源:swift