Bỏ chọn Cửa sổ mở lại khi đăng nhập lại theo mặc định


14

Hộp thoại shutdown / restart có hộp kiểm Reopen windows when logging back in được kiểm tra theo mặc định. Tôi cần thay đổi hành vi của nó để được bỏ mặc định. Điều này có thể không? Nếu có, làm thế nào tôi có thể làm điều đó?

enter image description here

Câu trả lời:


7

Chỉnh sửa: kể từ ngày 10.7.4, hộp kiểm "Mở lại cửa sổ khi đăng nhập lại" vẫn không được chọn nếu bạn bỏ chọn nó một lần, do đó không cần phải hack nữa.

Một tùy chọn là đặt LoginwindowLaunchesRelaunchApps chìa khóa để sai ~/Library/Preferences/com.apple.loginwindow.plist:

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Bạn cũng có thể lưu danh sách tài sản này như ~/Library/LaunchAgents/logout_saves_state.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>logout_saves_state</string>
    <key>ProgramArguments</key>
    <array>
        <string>defaults</string>
        <string>write</string>
        <string>com.apple.loginwindow</string>
        <string>TALLogoutSavesState</string>
        <string>-bool</string>
        <string>false</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Sau đó tải danh sách tài sản bằng cách chạy launchctl load ~/Library/LaunchAgents/logout_saves_state.plist hoặc bằng cách đăng xuất và đăng nhập lại một lần.

TALLogoutSavesState đôi khi được đặt lại thành đúng khi tôi đăng xuất và đăng nhập lại, vì vậy chỉ cần chạy defaults write com.apple.loginwindow TALLogoutSavesState -bool false một khi đã không làm việc.

Cả hai tùy chọn này thực sự làm cho hộp kiểm xuất hiện không được chọn, nhưng chúng có cùng tác dụng.


Tôi tìm thấy một lý do để vẫn làm điều này vào ngày 10.7.5: hộp trong hộp thoại Khởi động lại hiện không được chọn theo mặc định và trạng thái không được khôi phục. Nhưng nếu tôi buộc phải khởi động lại bằng cách giữ nút nguồn phần cứng trên MacBook, nó sẽ khôi phục trạng thái. Sau khi áp dụng sửa lỗi này, khi khởi động lại bằng nút, bây giờ tôi nhận được một hộp thoại khi khởi động lại có nội dung "Bạn tắt vì có vấn đề. Bạn có muốn khôi phục trạng thái không?", Vì vậy tôi có thể khởi động lại sạch.
Andrew Janke

2

Không, nó luôn được đặt thành "bật". Tuy nhiên, có tồn tại một tập lệnh mà bạn có thể chạy, vô hiệu hóa tính năng này. Hộp vẫn sẽ được kiểm tra, nhưng tính năng sẽ không còn hoạt động:

Dán đoạn sau vào một dòng trong Terminal:

curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh

Lệnh đó tải xuống một tập lệnh, đặt nó vào vị trí thích hợp, làm cho nó có thể thực thi được và sau đó xóa tệp tạm thời. Nếu bạn đang tự hỏi, nội dung của tập lệnh bash được tải xuống như sau:

#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh

Nếu bạn muốn quay lại hành vi mặc định của tính năng OS X Lion này, chỉ cần gõ lệnh ghi mặc định sau:

sudo defaults delete com.apple.loginwindow LoginHook

Và bạn sẽ quay trở lại để có thể chọn khôi phục cửa sổ dựa trên hộp kiểm lựa chọn đó.

Nguồn: http://osxd Daily.com/


Bạn cũng có thể tắt Resume cho các ứng dụng trên cơ sở từng ứng dụng. Xem những câu trả lời ở đây.
gentmatt

Cảm ơn bạn về kịch bản, nó sửa một trong những "tính năng" khó chịu nhất của máy Mac mới nhất.
Tobia


1

Đối với hồ sơ, chúng tôi đã nói về điều này:

Screenshot

Vấn đề là OS X không ghi nhớ nếu bạn bỏ chọn hộp kiểm trong lần tắt máy cuối cùng - nó sẽ luôn giữ hộp kiểm được kiểm tra theo mặc định trong các lần tắt máy tiếp theo.

tôi đã tìm thấy hai giải pháp khác nhau cho vấn đề này , điều đó có vẻ như là một mánh khóe, mặc dù chúng không phải là lý tưởng.

Mở Terminal.app và nhập các lệnh sau:

defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Điều này vô hiệu hóa các cửa sổ mở lại một cách hiệu quả khi đăng nhập lại vào tùy chọn, mặc dù hộp kiểm vẫn sẽ xuất hiện để được kiểm tra. Bạn chỉ có thể bỏ qua nó.

Tôi sợ ở đó, không có giải pháp nào tốt hơn, ít nhất là không phải lúc này.


Nó có thể vô hiệu hóa Tiếp tục trên cơ sở mỗi ứng dụng , quá.

Ngoài ra, còn có một cài đặt hệ thống cho phép bạn vô hiệu hóa nó cho tất cả các ứng dụng, toàn hệ thống. Đi đến Tùy chọn hệ thống Chung :

Screenshot

Ngoài ra, bạn có thể chạy lệnh này trong Terminal.app:

# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

(Lấy từ của tôi .osx tập tin.)


TALLogoutSavesState đôi khi được thiết lập lại thành đúng sau khi đăng xuất và trở lại mặc dù. defaults write com.apple.loginwindow TALLogoutSavesState -bool false sẽ cần phải được chạy khi đăng nhập bằng cách sử dụng một đại lý launchd hoặc một cái gì đó.
Lri

@Lri Nó dường như hoạt động tốt với tôi, ngay cả sau khi đăng xuất / khởi động lại nhiều lần, kết hợp với LoginwindowLaunchesRelaunchApps cài đặt. Tôi nhớ kiểm tra hai cái riêng biệt, trong trường hợp tôi gặp phải các vấn đề bạn mô tả trong câu trả lời của bạn. AFAICT, có một cái gì đó về sự kết hợp của hai cài đặt thực hiện thủ thuật.
Mathias Bynens

Tôi vừa chạy lại, đăng xuất và quay lại sau hai lần, và defaults read com.apple.loginwindow TALLogoutSavesState trả lại 1.
Lri

TALLogoutSavesState vẫn được đặt thành đúng bởi chính nó. Nhưng chỉ LoginwindowLaunchesRelaunchApps -bool false một mình dường như là đủ để vô hiệu hóa khôi phục các cửa sổ.
Lri

1

Điều này đã thay đổi trong Mac OS X Update Phiên bản 10.7.4.

Giải quyết vấn đề trong đó cài đặt "Mở lại cửa sổ khi đăng nhập lại" luôn được bật.

enter image description here

Đây là tùy chọn mới, như bạn có thể thấy (mặc dù bản thân nó không phải là bằng chứng vì nó dễ dàng bỏ chọn và sau đó lấy màn hình, nhưng xin hãy tin tôi - Tôi đã rất bối rối khi kiểm tra bản cập nhật này vì lỗi này thực sự gây phiền nhiễu tôi!)

enter image description here


0

Bỏ chọn "Mở lại cửa sổ khi đăng nhập lại" không giải quyết được vấn đề cho tôi. Các ứng dụng vẫn đang mở lại sau khi khởi động lại từ Apple Script hoặc bằng lệnh tắt trong Terminal.

Ngăn chặn vĩnh viễn macOS High Sierra mở lại ứng dụng sau khi khởi động lại

Hoạt động trong macOS El Capitan, Yosemite, Sierra, High Sierra.

Giải pháp: từ chối quyền truy cập OS X vào tệp mà nó sử dụng để lưu trữ trạng thái phiên của bạn. Nó ngăn mở lại các ứng dụng ngay cả sau khi khởi động lại / tắt máy từ Thiết bị đầu cuối , từ AppleScript và sự cố hệ thống.

Phương thức GUI

  1. Mở Finder
  2. Cmd+Shift+G (Chuyển đến thư mục)
  3. Sao chép dán ~/Library/Preferences/ByHost/ Và xác nhận
  4. Tìm tập tin bắt đầu bằng com.apple.loginwindow
  5. Doubleclick (mở trong TextEdit)
  6. Xóa tất cả nội dung và lưu tệp trống. Một hộp thoại xác nhận bổ sung có thể xuất hiện.
  7. Nhấp chuột phải, Nhận thông tin
  8. Khóa tệp (kiểm tra Locked hộp kiểm)

Phương thức GUI (hoàn tác)

Nếu bạn muốn hoàn tác thay đổi này sau và bật lại tính năng này, chỉ cần xóa tệp này và HĐH sẽ tạo lại nó.

  1. Mở Finder
  2. Cmd+Shift+G (Chuyển đến thư mục)
  3. Sao chép dán ~/Library/Preferences/ByHost/ Và xác nhận
  4. Xác định vị trí tệp bắt đầu bằng com.apple.loginwindow
  5. Đơn giản chỉ cần xóa nó

Phương pháp CLI

  1. Mở Terminal.app
  2. Tạo tập tin thuộc sở hữu của root (nếu không HĐH sẽ chỉ thay thế nó)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Xóa tất cả các quyền, vì vậy nó không thể được đọc hoặc ghi vào

    sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

Phương pháp CLI (hoàn tác)

  1. Kích hoạt lại "mở lại tất cả các ứng dụng" sau khi đăng nhập

    sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
    


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.