我用来systemd-timer定期运行一个使用网络服务的脚本。
问题是,在系统恢复或唤醒时,互联网连接不会立即启动,但计时器会被触发,因此脚本返回错误(如果服务等待几秒钟,脚本将正确运行,并且会出现无需将任务推迟到下次运行。)
1-如何使计时器(或与其关联的服务)等待网络连接可用?
2-当系统尚未上线时,如何使计时器(或服务)不调用脚本?
systemd services network-interface systemd-timer connectivity
有没有机会创建一个配置来完成以下工作?
仅当信号强于 30% 时才连接到可用的 WiFi
在很多地方,我都住在几乎没有wifi信号的边境地区。于是那些不可避免的信号中断就很烦人,所以我总是不得不自己手动在移动数据和wifi之间切换。
是否有机会设置一些仅允许连接到 WiFi 的配置,以便在信号强度足以避免终止的情况下(并由此保证稳定的连接)?
简化方法:
如果信号强度 < 30 % ? 连接不容许
如果信号强度是 ? 30%?允许连接
30% 的值当然只是一个例子......也许 20% 会更有意义,我们会看到!
我的笔记本电脑使用 USB 以太网适配器进行有线连接。在积极工作时,连接会定期丢失。NetworkManager 尝试连接并通过 DHCP 获取 IP 地址,但每次尝试都失败。USB 以太网适配器上的连接指示灯熄灭,就像电缆已拔出一样。(电缆是好的。)我可以通过两种方式解决问题:拔下并重新插入 USB 以太网适配器或重新启动笔记本电脑。两者都可以在短期内起作用,但这个问题每隔几个小时就会随机发生一次。
执行ip link set dev eth0 down以下操作ip link set dev eth0 up不起作用, NetworkManager 仍然无法获取 IP 地址。我已经观察到两个不同的以太网适配器存在问题,因此它似乎不太可能是有故障的适配器。该笔记本电脑相对较新,USB 端口似乎不太可能出现问题,否则该端口功能正常。它似乎与电源管理没有明显的关系,因为问题是在积极工作时发生的。
内核:4.17.11-arch1 #1 SMP PREEMPT 7 月 29 日星期日 10:11:16 UTC 2018 x86_64 GNU/Linux DE:KDEplasmashell 5.13.3
当以太网不工作时 lsusb -vvv
Bus 004 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific …Run Code Online (Sandbox Code Playgroud) 为什么蓝牙无法连接?
蓝牙单元可以在 Debian 测试 (9.0 Stretch) 上找到但无法连接到其他设备。蓝牙适用于不同的操作系统。BIOS 设置允许无线。
安装了以下软件包:
$ sudo dmesg | grep -i blue
[ 18.086647] Bluetooth: Core ver 2.22
[ 18.086660] Bluetooth: HCI device and connection manager initialized
[ 18.086663] Bluetooth: HCI socket layer initialized
[ 18.086664] Bluetooth: L2CAP socket layer initialized
[ 18.086668] Bluetooth: SCO socket layer initialized
[ 18.149652] Bluetooth: hci0: BCM: chip id 63
[ 18.165659] Bluetooth: hci0: BCM20702A
[ 18.166653] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ …Run Code Online (Sandbox Code Playgroud) 假设您有一对 UNIX/Linux 计算机。您想要检查两台计算机是否可以通过任意端口(例如 TCP 111)相互连接。
登录到机器 1 (10.0.0.1) 的 shell。如果安装了Telnet,可以使用命令检查与10.0.0.2的连通性
$ telnet 10.0.0.2 111
Run Code Online (Sandbox Code Playgroud)
但有些UNIX/Linux系统默认没有Telnet。SSH 更流行,因此可能是首选,特别是当您不想在计算机上安装额外的应用程序时。
问题。有没有办法通过使用 ssh 命令而不是 telnet 命令来轻松测试相同的内容?
(请回答问题。“您可以安装 Telnet 或使用 Microsoft Windows”没有帮助。TCP 111 只是一个示例。)
当我使用通过手机信号塔提供互联网服务的提供商时,我的 ssh 会话经常断开连接。它们似乎“冻结”并停止响应我输入的任何内容,但有时直到冻结几分钟后才给出实际的断开连接消息。
我在下面以“问答方式”回答我自己的问题 - 这是我去年花了很多时间试图解决的问题,我想整合和分享我迄今为止找到的所有解决方案。(如果您有我尚未找到的其他解决方案,也请随意添加您自己的答案!)
connectivity ×6
ssh ×2
systemd ×2
bluetooth ×1
debian ×1
ethernet ×1
mobile ×1
nat ×1
networking ×1
optimization ×1
port ×1
services ×1
telnet ×1
usb ×1
wifi ×1
wifi-hotspot ×1