Windows 10 1709中的Linux子系统(WSL)

如果你在Windows 10 1703或之前版本中使用了Linux子系统,升级到1709版本之后,你会发现你可以在应用商店中下载Ubuntu或者其他的Linux发行版了。但是,在应用商店中安装Ubuntu后,原来的Bash on Ubuntu on Windows还在,你的电脑上就会出现两个Ubuntu。其实这两个Ubuntu是独立的,它们之间的数据不共享。

1703之前版本的Bash on Ubuntu on Windows所在的位置是%localappdata%\lxss\。要卸载旧版本的Linux子系统,可以使用命令lxrun /uninstall,再手动删除home文件夹lxss文件夹。

推荐使用lxrun /uninstall删除旧版本的Linux发行版并使用应用商店中提供的新版Linux发行版。

替代lock语句块实现await独占访问

C#中有lock语句块和Monitor类可以实现线程锁,实现对资源的独占访问。但是,当像下面这样试图在lock语句块中使用await时会出现错误,无法生成:

lock (streamReader)
{
    await streamReader.ReadLineAsync();
} //编译错误

此时,也不能自作聪明地使用Monitor类实现线程锁,那样虽然能够生成,但是执行结果与你设想的是不同的。像下面这样的代码并不能实现独占访问:

Monitor.Enter(streamReader);
await streamReader.ReadLineAsync();
Monitor.Exit(streamReader); //不能实现功能

继续阅读“替代lock语句块实现await独占访问”

大面积蓝牙漏洞BlueBorne

Armis实验室披露了一个新的蓝牙漏洞BlueBorne,这个漏洞影响到大部分的移动、桌面和物联网操作系统,包括Android、iOS、Windows和Linux。使用该漏洞可以远程执行代码或者进行中间人攻击。进行攻击不需要蓝牙配对,也不需要将蓝牙设备设置为可被发现。但是完全关闭蓝牙可以避免受到影响。

继续阅读“大面积蓝牙漏洞BlueBorne”

如何在单显示器上使用PowerPoint演示者视图

PowerPoint演示者视图中显示了当前幻灯片、下一张幻灯片以及备注
PowerPoint 2016演示者视图

PowerPoint演示者视图可以在播放幻灯片的同时显示备注,在做演示的时候可以给自己提示的作用。然而,只有一台显示器的时候似乎比较难开启演示者视图,给排练造成障碍。

经过挖掘发现,在PowerPoint 2016中按alt+F5即可强制使用演示者视图播放幻灯片。另外,笔者还发现按下alt的同时直接点击右下角的幻灯片播放按钮还可以窗口播放幻灯片(不过一点击幻灯片以外的部分就会立即退出)。

Excel使用“查询”引用整个表格

本文以Excel 2016为例,Excel 2007以上版本很可能也适用。

在Excel中,有时候需要对一些数据进行一些数据处理,或是合并多个表格的数据,但是我们又不希望更改原始数据,甚至希望在原始数据发生改变时不需要重新进行处理。这时,我们便需要对一个表格进行引用了。在Excel中怎样才能引用一个表格的数据? 继续阅读“Excel使用“查询”引用整个表格”

Microsoft账户给文件共享带来的小变化

使用Microsoft账户登录的电脑同样可以共享文件。

使用Microsoft ID之后,共享文件夹的权限问题变得简单了很多。如果一个共享文件夹给一个Microsoft账户授予了权限,那么任何电脑上的同一个账户访问这个共享文件夹时都能直接适用该权限,且不需要输入密码。

在一些设备上,使用Microsoft ID访问共享文件在登录时有一个小变化:类似john@example.com这样的账户在登录时需要改为example.com\john。