Setelah membeli laptop baru, saya menyesal karena Ubuntu yang saya cintai tidak lagi mendukung sensor dan penggemar terus berdengung, membuat pekerjaan menjadi tidak nyaman. Pada saat yang sama, jika Anda mengunduh Windows 10 Pro yang sudah diinstal dari hard drive asli, maka akan ada keheningan yang menyenangkan bagi telinga. Meskipun dingin di luar (dan di rumah), itu lumayan. Tetapi ketika panas datang, kesabaran berakhir. Diputuskan untuk bermigrasi ke Windows.
Dalam pekerjaan saya, saya menggunakan banyak mesin virtual untuk membangun, menguji dan men-debug perangkat lunak yang dikembangkan. Windows 10 Pro termasuk virtualisasi Hyper-V - setelah uang dibayarkan, Anda harus menggunakannya! Di Ubuntu, saya menggunakan mesin libvirt dan virtual dalam satu jaringan virtual internal.
Mentransfer Windows dari disk asli ke SSD dan mengubah gambar mesin virtual ke format untuk hyper-v, dengan sakit hati, saya mulai mengembangkan sistem operasi baru.
Ternyata tidak begitu menakutkan! Virtual desktop digantikan dengan windows desktop (sayangnya hanya yang horizontal), konsol menggantikan konsol WSL (Windows Subsystem untuk Linux), VcXsrv diinstal dan ditambahkan ke program startup untuk aplikasi X11, mesin virtual mulai bekerja di Hyper-V dan bahkan berhasil memulai OSX.
Terminal asli ternyata tidak sepenuhnya nyaman dan tanpa tab, jadi itu diganti dengan kejam dengan terminal xfce4, yang diluncurkan melalui jalan pintas dengan jendela konsol linux yang tersembunyi:

Obyek
C:\Windows\System32\wscript.exe ./runhidden.vbs bash -c "export DISPLAY=:0.0; export GDK_DPI_SCALE=1.2; cd ~; exec xfce4-terminal"
( , X11 ), :
' Simple command-line help.
select case WScript.Arguments(0)
case "-?", "/?", "-h", "--help"
WScript.echo "Usage: runHidden executable [...]" & vbNewLine & vbNewLine & "Runs the specified command hidden (without a visible window)."
WScript.Quit(0)
end select
' Separate the arguments into the executable name
' and a single string containing all arguments.
exe = WScript.Arguments(0)
sep = ""
for i = 1 to WScript.Arguments.Count -1
' Enclose arguments in "..." to preserve their original partitioning.
args = args & sep & """" & WScript.Arguments(i) & """"
sep = " "
next
' Execute the command with its window *hidden* (0)
WScript.CreateObject("Shell.Application").ShellExecute exe, args, "", "open", 0
:

, TP-LINK WR703N OpenWRT:

VPN . , , WiFi , , WiFi, . WiFi , , .
( ), , . , Windows .
Hyper-V . , . LAN Internal:

. , Β« Β» β Windows .
WiFi:

:

Ubuntu 16.04. 16.04? 18.04 /etc/network/interfaces netplan β ! :

, Microsoft UEFI .
, ifconfig. WiFi ip . , :
dhclient eth0 eth1 eth2
, dhcp.
eth0 β , eth1 β , eth2 β ( ). 192.168.3.0.
/etc/network/interfaces , , nano:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# Internal LAN
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
# The primary network interface
allow-hotplug eth2
iface eth2 inet dhcp
. ( ).
, .
:
sudo apt install dnsmasq iptables-persistent netfilter-persistent openvpn
ip :
cat > /etc/sysctl.d/10-forwarding.conf
net.ipv4.ip_forward=1
:
cat > /etc/iptables/rules.v4
# Generated by iptables-save v1.6.0 on Fri Jun 22 11:13:10 2018
*nat
:PREROUTING ACCEPT [2901:568651]
:INPUT ACCEPT [707:80315]
:OUTPUT ACCEPT [445:30025]
:POSTROUTING ACCEPT [14:1200]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o eth2 -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
COMMIT
# Completed on Fri Jun 22 11:13:10 2018
# Generated by iptables-save v1.6.0 on Fri Jun 22 11:13:10 2018
*filter
:INPUT ACCEPT [57264:68964200]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [44820:7558046]
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o tun+ -j ACCEPT
COMMIT
# Completed on Fri Jun 22 11:13:10 2018
dhcp :
cat > /etc/dnsmasq.d/router.conf
dhcp-authoritative
domain-needed
localise-queries
read-ethers
bogus-priv
expand-hosts
local-service
domain=lan
server=/lan/
dhcp-leasefile=/tmp/dhcp.leases
interface=eth1
dhcp-range=lan,192.168.3.100,192.168.3.249,255.255.255.0,12h
Windows !

openvpn .
, , ?
β Windows 10 ! . ! β¦

, . , . , , .
, ( β Visual Studio):

, , .
github.
, , (, ) Windows
NoWiFi.
, , , !
, !