V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jackyz
V2EX  ›  macOS

吐槽 ML[休眠断网],求降级方案

  •  
  •   jackyz · 2012-10-12 10:34:26 +08:00 · 6118 次点击
    这是一个创建于 4424 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天刚升级到 ML 立刻体验了[休眠断网]。QQ什么的断了其实都无所谓,但日常工作要开 N 个 SSH 的我实在是伤不起呀。只怪自己平时没有好好学习大家的帖子,刚才一搜才知道,原来对[休眠断网]这个 ML 的豪华新特性(萍果从来就没有 bug 这么一说的吧)网上早已吐槽了一大片。

    搜了一大圈,大致是在官方出 update 之前,尚无靠谱的解决方案,只能先关闭休眠,忍住恶心继续用。

    另外,机器比较老(话说,我这个 2011 年初的 MBP,真的就已经算是老机器了吗?感觉萍果对硬件的“升级推动”。比 wintel 一点儿也不差哪),跑 ML 真的感觉慢不少,启动菊花 10 圈左右(什么修复权限之类的已经用过了,屁用不管)。

    担心某天受不了了想降级,所以,提前先问问 ML 要如何降级回 lion 呢?要是没法降级,又实在受不了了,那就只能逼着切回 linux 了。
    26 条回复    1970-01-01 08:00:00 +08:00
    doylecnn
        1
    doylecnn  
       2012-10-12 10:38:08 +08:00
    推荐tmux
    welsonla
        2
    welsonla  
       2012-10-12 10:39:41 +08:00
    我也发现了,备份服务器的文件到本地,晚上control+shift+推出键就睡觉去了,早晨起来发现压根没动
    vanemu
        3
    vanemu  
       2012-10-12 10:41:45 +08:00
    Mac 上应该没有降级这一说吧。想装任何系统应该都可以,备份好自己的数据就好了。
    lwjefSub
        4
    lwjefSub  
       2012-10-12 10:44:13 +08:00
    休眠还能不断网的啊 :3 待机不断网吧
    没用过 MAC 不懂啊
    jackyz
        5
    jackyz  
    OP
       2012-10-12 10:48:42 +08:00
    可能表述不清?澄清下,是:不合盖,屏保,过一会儿黑屏的[休眠]状态(莫非这又被叫做叫待机?)。合盖休眠会断网,这个我知道。
    dovis
        6
    dovis  
       2012-10-12 11:05:11 +08:00
    我也有这方面的困扰,不知道如何解决
    Cofyc
        7
    Cofyc  
       2012-10-12 11:20:39 +08:00
    我是设置成插上电源就永远不休眠。

    只锁屏或只显示器休眠。
    doylecnn
        8
    doylecnn  
       2012-10-12 11:24:16 +08:00
    首先对楼主使用ssh在远程干活又不用tmux保持ssh连接
    还不关闭电源,不休眠,自己去睡觉这样的不环保行为表示……

    然后,实在不愿意用tmux,就是喜欢“不合盖,屏保,过一会儿黑屏的状态”还要它继续为你工作的
    推荐找到你mac中的“系统偏好设置”->“节能器”,把“电脑进入睡眠”的那个条拉到最右

    发现其中没有“合上盖子也啥都不做”这样的选项呢……windows明明有的说……
    killpanda
        9
    killpanda  
       2012-10-12 11:38:08 +08:00   ❤️ 1
    man caffeinate
    54dev
        10
    54dev  
       2012-10-12 14:31:48 +08:00
    升级就好了。
    mayokaze
        11
    mayokaze  
       2012-10-12 16:43:09 +08:00
    不管什么情况休眠是肯定会断网的,楼主说的情况是特定程序让系统不休眠只关闭屏幕,ML的power assersion改了,这类程序升级没跟上,如果你用safari下载就会发现你所说的"休眠不断网",改power assersion的原因大概是powernap吧
    mayokaze
        12
    mayokaze  
       2012-10-12 16:44:40 +08:00
    楼主说的这种情况直接禁用自动休眠就好了,麻烦的是下载程序就没法下载完成后自动休眠了,只能等程序升级支持ml
    chisj
        13
    chisj  
       2012-10-12 17:17:26 +08:00
    macmini表示没这个问题啊,下载了一个晚上 ^.^。
    jackyz
        14
    jackyz  
    OP
       2012-10-12 18:14:21 +08:00
    怎么大家会觉得“不合盖,屏保,黑屏”,这个场景很希奇吗?

    比如,你正在砌代码墙,同事叫你过去讨论个问题,然后不知不觉,半个小时过去鸟。。。等你回来发现 n 个 terminal 里的 ssh 连接都 TM 断了,需要挨个重连,你会不会想要骂人?

    @doylecnn

    就是拖到最右边“不休眠”的。

    俺用的是老土的 screen ,问题是,要用多个 terminal 连多个 server 上的 screen ,虽说断掉了重连敲几下光标键就可以,但窗口多了,也还是很烦的好不好?

    @mayokaze

    尚未体验到 safari 的“休眠不断”。如果按照这个解释的话,那么在 ML 的 terminal 里是不是要提供一个 “power assersion” 的相关设置,或者检测到有 ssh-client 正在活动,就自动别给我多事地自动断网?

    找半天还真没找到这样的设置。

    ----我是火大的分割线----

    靠,全赶上了。就在刚才 WIFI 十分诡异地断掉,然后又自动重连了。问题是,我一直在砌代码墙,机器也没休眠。(倒抽一口凉气)莫非这丫就是传说中的 ML 下 WIFI 情绪不稳定新特性?

    升个 ML 升回来一肚子气,各位还没有升级的同志,这就是前车之鉴了,请谨慎啊。
    kavi
        15
    kavi  
       2012-10-12 18:23:54 +08:00
    我也遇到这样的情况,这种没必要的设计真心让人烦。
    jackyz
        16
    jackyz  
    OP
       2012-10-12 18:28:05 +08:00
    @killpanda, good point

    nano ~/.profile

    加上

    ### prevent sleep when ssh active
    alias ssh='caffeinate -i -s ssh'
    ###

    经测试,管用!
    jackyz
        17
    jackyz  
    OP
       2012-10-12 18:39:23 +08:00
    @killpanda 已感谢

    估计该 alias 列表需不断加长,至少需加上 rsync/wget/curl 之流。
    wezzard
        18
    wezzard  
       2012-10-13 00:53:18 +08:00
    我手上這台2011 Late的MBP沒有這樣的問題,樓主可以考慮格盤重裝下,也許可以解決。
    TonyLiu2ca
        19
    TonyLiu2ca  
       2012-10-14 09:51:46 +08:00
    经过在自己的机器上的有限测试,还是Standby|Sleep的设置问题,新版系统默认Sleep后,如果休眠被设定为3/25,系统进入Standby状态,这个状态下,如同休眠一样的把内存寸到硬盘,关掉电源。尝试一下下面的命令来禁止这些默认操作。

    sudo pmset -a standby 0 sleep 20 hibernatemode 3 networkoversleep 0 force
    jackyz
        20
    jackyz  
    OP
       2012-10-16 12:37:15 +08:00
    @TonyLiu2ca
    升级之后没动过 pmset ,现在的值是:

    $ sudo pmset -g
    Active Profiles:
    Battery Power 1
    AC Power -1*
    Currently in use:
    standbydelay 4200
    standby 0
    womp 1
    halfdim 1
    hibernatefile /var/vm/sleepimage
    sms 1
    networkoversleep 0
    disksleep 10
    sleep 15
    hibernatemode 3
    ttyskeepawake 1
    displaysleep 5
    acwake 0
    lidwake 1

    是否意味着我的 standby 已经是关闭状态?
    TonyLiu2ca
        21
    TonyLiu2ca  
       2012-10-17 00:00:19 +08:00
    @jackyz 用户没动,系统安装时或者设置Power参数时,系统可能帮你动了。
    上面的值说的是你工作时使用220电源,那为什么还Sleep呢,既然网络那么重要,就把sleep关了吧,再把hibernatemode设成0。重启一次,再测试中,虽然用了强制,但是依然失败,重启再看-g值。使用电池的再另外设定呗。你前面编辑.profile之所以管用,还是ttyskeepwake起作用了。
    jackyz
        22
    jackyz  
    OP
       2012-10-17 16:53:37 +08:00
    更新一下,其他同样踩到这个坑里同学如果 google 到这里来,可以少花点 cpu 在这里。

    alias ssh='caffeinate -i -s ssh' 改为:
    alias ssh='caffeinate -i ssh' 比较好

    前者的副作用是:只要有 ssh 存活,即使是合上屏幕也不会休眠,而这通常不是我们想要的。

    合上屏幕,不管有没有 ssh 在跑还是应该 sleep (后续的动作通常都是,装包拿走)。

    离开屏幕,如果有 ssh 之类的“敏感任务”在跑(说明我在工作状态)那就不允许 idle sleep 打断工作。如果没有的话(说明我在瞎逛,刷weibo,上QQ之类)那么 idle sleep 乃至进入随后的 sleep 状态(呼吸灯)省点电,节点能,也不反对。

    楼上的 ttyskeepwake 不是一码事。参考 man pmset 里的说明:

    ttyskeepawake - prevent idle system sleep when any tty (e.g. remote login
    session) is 'active'. A tty is 'inactive' only when its idle time exceeds
    the system sleep timer. (value = 0/1)

    开着 tty 也还是会 inactive 然后进入 idle sleep 的。
    cassyfar
        23
    cassyfar  
       2012-10-18 05:40:39 +08:00
    Appstore purchase里面可以重新下载lion;建议换SSD吧
    jackyz
        24
    jackyz  
    OP
       2012-10-18 10:09:10 +08:00
    @cassyfar,我这里木有看到呢?



    话说,我这个 mbp 是买来就预装 lion 的那种。
    cassyfar
        25
    cassyfar  
       2012-10-18 12:18:13 +08:00
    @jackyz 那就没有了... 必须是购买过的才有
    mayokaze
        26
    mayokaze  
       2012-10-19 06:32:07 +08:00
    https://developer.apple.com/videos/wwdc/2012/
    楼主看完这个就什么都清楚了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:26 · PVG 03:26 · LAX 11:26 · JFK 14:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.