操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    里有個配置可觀的臺式機,但苦于噪聲和耗電,基本處于關機狀態。這個對于偶爾需要遠程登陸該機器的需求就不太可能滿足,更不談遠程控制了。 為此探究了一下電腦的遠程喚醒功能,并且給家里的臺式機配置了該功能,從此無論何時何地,只要有個輕終端和網絡就能如同在家一樣折騰這個工作站了。

    介紹

    家里有個自己 DIY 組裝的臺式機,最初對它的設想是既能充當讓我折騰的工作站也滿足我娛樂的平臺。為此給它安裝了雙系統,Ubuntu 是它的默認系統,也是我常用的工作環境; Win10 是另一個系統,偶爾用它來打打游戲。一開始想將它當做服務器一直開機,但后來直接放棄了。原因一方面是運行時水冷風扇還有有聲的,特別是夜深人靜的時候;另一方面是一天大部分時間都在公司上班,不可能比較高頻的操作家庭電腦,比較浪費電。所以家里的電腦基本就是下班回來會搗鼓搗鼓,而且還是通過公司提供的 Mac 電腦局域網遠程登陸,畢竟臺式機開機登陸也挺耗時的。最近突發奇想的搜索了遠程開機的信息,想以此來達到想用就開機,不用就自動休眠或手動關機的目的。沒想到還真有這騷操作,學名叫遠程喚醒或網絡喚醒,英文叫 Wake-on-LAN

    基本概念

    在實踐網絡喚醒之前,我們需要了解一下網絡喚醒的原理以及喚醒方法。

    網絡喚醒

    電腦處在關機(或休眠)狀態時,機內的網卡及主板部分仍保有微弱的供電,此微弱供電能讓網卡保有最低的運作能力,使網卡能聆聽來自電腦外部的網絡廣播信息,并對信息內容進行偵測與解讀,一旦發現網絡廣播的內容中有特定的魔法數據包Magic Packet,就會對該數據包的內容進行研判。

    魔法數據包是以廣播方式發送的,廣播的方式與范疇可以是整個局域網(LAN),也可以是特定的子網(Subnet),同時魔法數據包內會有某部(或一群)電腦的網絡地址資料,網卡一旦解讀研判出所指的地址是自身所處的電腦時,網卡就會通知機內的主板、電源供應器,開始進行引導(或喚醒)的程序。

    魔法數據包

    魔法數據包Magic Packet 是一個廣播性的幀frame,透過端口 7 或端口 9 進行發送,且可以用無連接 Connectionless protocol 的通信協議(如UDP、IPX)來傳遞,不過一般而言多是用 UDP,原因是 Novell 公司的 Netware 網絡操作系統的IPX協議已經愈來愈少被使用。

    魔法數據包內,每次都會先有連續 6 個 FF(十六進制,換算成二進制即:11111111)的資料,即:FF FF FF FF FF FF,在連續 6 個 FF 后則開始帶出 MAC 地址信息,有時還會帶出 4 字節或 6 字節的密碼,一旦經由網卡偵測、解讀、研判(廣播)魔法數據包的內容,內容中的 MAC 地址、密碼若與電腦自身的地址、密碼吻合,就會啟動喚醒、引導的程序。

    實戰

    硬件基礎

    要想實現電腦的網絡喚醒 WOL,首先必須要有具備 WOL功能的主板和網卡(二者一般是一體的)。這是硬件基礎,現在的主板一般都會支持網絡喚醒的功能,但是默認情況不一定啟用該功能,需要在 BIOS 中開啟 PCI/PCIe 喚醒功能或網卡喚醒功能。

    我的主板是微星 Z270 GAMING M7,網卡是 Killer E2500 Gigabit。該主板開啟網絡喚醒功能需要通過開機過程中,長按 DELETE 鍵進入 BIOS 進行如下設置:

    ?高級-整合周邊設備-網卡 ROM 啟動,設置為允許

    rom

    ?高級-電源管理設置-Erp,設置為禁止

    erp

    ?高級-喚醒事件設置-PCIE 設備喚醒,設置為允許

    pcie

    軟件基礎

    除了硬件支持外,還需要在操作系統中設置網卡的喚醒功能。而網卡的喚醒功能是需要網卡驅動支持的,這是 Ubuntu 升級過程中通過踩坑明白的道理。 下面列舉了 Win10 操作系統和 Ubuntu 系統下的設置。

    windows

    Window 系統中驅動是很健全的,所以只要對應的主板和網卡硬件支持網絡喚醒功能,那么對應的驅動基本沒有問題。那就只剩下最后一步: 設備管理器-網絡適配器-電源管理-允許這個裝置喚醒電腦

    setting_win10

    ubuntu

    Ubuntu 的版本是 20.04 LTS,其默認內核版本為 5.4.x。因為該版本距今兩年多,所以其對應的網卡驅動 alx-driver 已經支持遠程喚醒 wol 功能。 為了驗證當前網卡是否開啟對遠程喚醒功能的支持,需要安裝軟件 ethtool。

    # 安裝軟件 ethtool
    sudo apt-get install ethtool -y
    # 驗證當前網卡 enp5s0 是否開啟 wol 支持
    sudo ethtool enp5s0

    Ubuntu 系統安裝的 20.04 LTS,后來升級為 22.04 LTS(升級過程中踩了默認驅動不支持 wol 的坑,查了好多資料才填了這個坑).

    ubuntu_wakeon

    默認情況如上圖,Supports Wake-on表示當前驅動支持的遠程喚醒方式,候選項有以下幾種。wake-on表示當前遠程喚醒的方式。

    選項

    描述

    含義

    d

    disabled

    不支持遠程喚醒

    p

    PHY activity

    物理喚醒

    u

    unicast activity

    單播喚醒

    m

    multicast activity

    多播喚醒

    b

    broadcast activity

    廣播喚醒

    g

    magic packet activity

    魔法包喚醒

    其中選項 g 是開啟遠程喚醒功能的標識。

    # 設置 enp5s0 網卡驅動支持魔法包喚醒
    sudo ethtool -s enp5s0 wol g
    # 設置 enp5s0 網卡驅動永久支持魔法包喚醒,需要重啟兩次
    nmcli c modify enp5s0 802-3-ethernet.wake-on-lan magic

    ubuntu_setting

    內網通

    軟硬件基礎都搞定后,下面一步就是在內網(局域網)中通過魔法包喚醒目標機器。喚醒的方法這里提供兩種:

    ?命令喚醒

    操作機器和目標機器需要在同一個局域網中,操作機器需要安裝 wakeonlan 命令。

    # 安裝 wakeonlan 命令
    sudo apt install wakeonlan
    # 命令喚醒 
    ## host_address為遠程計算機的域名或ip地址
    ## mac_address為遠程計算機的mac地址,mac地址是':'間隔的形式
    wakeonlan -i host_address mac_address

    ?app喚醒 在軟件市場中搜索 Wake-On-Lan 或 WOL 可以找到相關軟件

    外網通

    網上有相關教程[1],大致流程分為三步:

    ? DDNS綁定域名和動態公網IP 鑒于 家庭寬帶在橋接模式 下路由器會獲取公網 IP,但是這個公網 IP 是會變化的。所以最好通過 DDNS 將不變的域名和變化的公網 IP 綁定在一起。我這里使用的是 ddns-go。

    ? 設置 IP 和 MAC 綁定 網絡喚醒的核心是將魔法數據包發送給目標機器,如果數據包中的 MAC 和目標機器一致則會觸發喚醒引導程序。而路由器下面有多個終端機器,所以需要將路由器下終端機器和其 MAC 地址一一綁定,這樣如果有魔法數據包經過路由器時,路由器知道將該包路由到哪臺機器。

    ? 設置端口映射 注意 IP 地址與目標機器的 IP 一致,也就是剛才 MAC 綁定時的 IP 地址,端口隨便開一個就行(但是不要用運營商封禁的端口,推薦使用 9 端口)。另外協議類型選擇 UDP 或者ALL!!因為喚醒數據包是通過 UDP 協議發送的,所以協議類型只選擇 TCP 協議的話數據包是進入不了內網的!!

    上面的三步我依次操作了,但是沒有成功。目前還沒有定位的具體原因。不過我通過另一種方式解決了外網遠程喚醒的問題:遠程登陸到家庭 Nas(該機器是 24 小時不關機的),然后通過 wakeonlan 命令在局域網中喚醒目標機器。

    常見問題

    系統升級帶來的問題以及解決

    當時是奔著高性能買的這款微星主板 Z270 GAMING M7,網卡是 Killer E2500 Gigabit,號稱可以干掉游戲延遲。不過 Ubuntu 中對這塊網卡的驅動支持并沒有那么通用,在系統升級(20.04 LTS 升級到 22.04 LTS)中還是碰到比較麻煩的驅動支持問題。這里特地記錄了一下解決過程。

    從這個帖子[2] 我們知道,網卡 Killer E2500 Gigabit 的驅動是 alx,但是該驅動默認是關閉遠程喚醒功能的。如果想要開啟該功能需要內核支持。看遍了該帖子發現對于最新的 Ubuntu 22.04 LTS(內核 5.15) 并沒有直接的解決方案。但是發現對于內核 5.16.3 有了 alx 補丁,所以有了如下的升級內核的解決方案。

    ? 升級內核到 5.16.3

    ? mainline 方式[3] 該方式未生效,主要是 Ubuntu Mainline Kernel Installer 中只有 2 個內核版本

    ? deb包方式[4] 簡單直接

    ? 安裝 alx 補丁 下載倉庫[5],并執行 ./setup

    ? 重啟后驗證

    alx_fix

    目前已經驗證成功,為此還提了 request[6] 給倉庫。

    參考文獻

    1. 網絡喚醒[7]
    2. archlinux中網絡喚醒[8]
    3. 外網喚醒 配置教程 遠程開機[9]
    4. Wake-on-LAN broken in alx[10]
    5. alx_driver[11]
    6. ubuntu 22.04LTS alx補丁[12]
    7. 如何在Ubuntu中安裝Linux主線內核[13]
    8. 內核deb包[14]
    9. alx_dkms_installer支持22.04LTS[15]

    References

    [1] 相關教程: https://blog.csdn.net/qq_19764639/article/details/82817719
    [2] 帖子:
    https://bugzilla.kernel.org/show_bug.cgi?id=61651#c166
    [3] mainline 方式:
    https://www.sysgeek.cn/ubuntu-install-linux-mainline-kernel
    [4] deb包方式:
    https://kernel.ubuntu.com/~kernel-ppa/mainline
    [5] 倉庫:
    https://github.com/haojunyu/alx_dkms_installer

    睡眠功能本是Windows 10為節能而設的一項人性化體貼功能,有時卻也可能會給我們帶來麻煩。比如,本來是進入了睡眠狀態的電腦,卻在人離開后,因為某個軟件的喚醒指令發生作用而悄悄被喚醒,白白地在那里浪費能源;還有的情況是,一些電腦在處于自動待機或睡眠狀態后,當用戶執行喚醒操作時,卻發生死鎖的情況。為此,我們需要尋找“良方”。

    1. 解決睡眠后無故自動喚醒問題

    通過“關機”按鈕選擇“睡眠”,讓電腦進入睡眠狀態;或者在設定的自動睡眠時間到達后,電腦自動進入睡眠狀態,這是我們最常用到的電腦節能方案。我們希望電腦維持這種狀態,直至下次使用時執行喚醒操作喚醒為止。但有時我們會發現,當自己回到電腦前準備執行喚醒操作時,電腦早已在點亮運行的狀態了。發生這種情況,往往是因為其中的某個程序的喚醒指令發生作用的結果。程序喚醒睡眠的實質,是其對系統電源管理的控制。知道了這個原理,便可以順理成章地通過定制電腦管理計劃,重新設置喚醒定時器,使問題得以解決。

    為此,首先啟動管理員命令提示符窗口,然后執行下述命令:

    powercfg -lastwake

    執行該命令后,系統會顯示喚醒歷史記錄計數值(圖1)。如果電腦出現過自動喚醒請求,那么該計數數值一定不是0。我們可通過在控制面板的電源管理設置中,對喚醒定時器設置禁用,從而達到阻止無故喚醒的目的。在Windows 10“開始”菜單依次選擇“設置→系統→電源和睡眠”,然后在電源和睡眠窗口中選擇“其他電源設置”(圖2);在電源選項窗口中選擇“更改電源計劃”,打開“編輯計劃設置”窗口,然后點擊“更改高級電源設置”文字鏈接(圖3);在隨后打開的電源選項高級設置窗口中,依次選擇“睡眠→允許使用喚醒定時器→設置:禁用”,確定即可(圖4)。

    經過上述設置后,任何應用程序都無法使用喚醒定時器,將電腦從睡眠狀態中喚醒了。

    2. 解決睡眠待機鎖屏死機問題

    另外一種情況是,當我們希望從電腦睡眠狀態喚醒系統時,卻發現鍵盤操作無效、鼠標點擊無效,整個電腦被鎖死,動彈不得。這種情況可能由多種情況引起,需要按照下述方法逐一分析或嘗試解決。

    有時,在鎖屏界面上無法操作喚醒,其實只是一種假死機現象。當我們遇到屏幕不亮、鼠標點不了登錄框、鍵盤無法輸入登錄密碼等情況的時候,操作后不妨可稍等幾秒鐘,看看是否有反應,因為系統喚醒、啟動硬盤、開啟顯示等也需要一定的等待時間。若還不行,可采用按下Ctrl+Alt+Del或Win+L組合鍵的方式激活一下,有時按一下甚至按兩三下,才可以激活屏幕和輸入框,問題可得到解決。

    軟硬件電源管理功能配合不好,也可能出現無法喚醒的問題。首先從硬件方面來講,電源管理要求電腦的電源和主板要支持ACPI規范(目前的ATX標準遵守的規范),符合此規范的電腦主板,其BIOS設置中的Power Management Setup之類的項目才能有效發揮作用,直接對系統休眠睡眠進行控制(圖5)。而Windows 10本身也會從軟件層面上控制系統睡眠。由于硬件的多樣性和Windows 10對硬件支持的不完善,如果軟硬件之間在電源管理問題上恰巧產生沖突,就可能會出現進入節能狀態后死機的問題。為此,可嘗試從BIOS中將電源節能項目關閉,只讓Windows 10來管理電源。

    此外,軟件與系統之間的沖突,也可能造成睡眠喚醒方面的問題。例如許多聲卡驅動并不支持休眠,由于聲卡的連續工作會造成與電源管理的沖突問題。如果是這種情況引起的,只需在欣賞音視頻期間,將系統休眠或睡眠時間設得足夠長即可。另外還有,如果在進行大型制圖、程序調試等工作,如果長時間開啟運行,也可能造成睡眠喚醒死機的問題。解決的辦法是,在調試期間不要開啟自動睡眠功能。

    如果上述情況均無法解決問題,很可能是由于硬件本身的問題所引起的。例如,主板部件出現問題可能造成睡眠方面的這種嚴重問題。這時,如果不希望此故障對正在進行的工作造成影響,那么可以借助于相應的工具軟件來臨時解決。比如,可安裝DontSleep軟件,防止系統進入睡眠或待機狀態。DontSleep軟件運行后,選擇Please Don't Sleep選項卡,然后在“阻止程序”偏好設置欄中,將待機/混合睡眠/休眠、阻止關機、注銷、屏幕保護/關閉顯示器等選項全部選中,然后點擊“縮小到托盤”按鈕即可(圖6)。在運行大型圖形處理、多媒體編輯、軟件測試等任務的過程中,為了防止睡眠意外死機、藍屏等情況的發生,采用DontSleep軟件強行阻止一切睡眠行為的做法,可為工作上一道安全有效的保險。

    小提示:

    頑固的系統睡眠問題也可能與系統版本的兼容性有關,可待更新的系統版本出來后,嘗試升級后看問題是否可得到解決。必須注意,睡眠或鎖屏引起的死機問題,可能就會造成正在進行的工作資料的丟失。因此,防患于未然是最必需要做的。在鎖屏或睡眠之前,最好先將工作任務作存盤操作,或給資料設置必要的自動備份任務。這樣就能杜絕因意外睡眠死機所造成的損失。對于已經發生過這類情況的電腦,更應該做好資料的存盤和備份工作。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有