Câu trả lời:
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.
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/
Lỗi này đã được sửa với Cập nhật sư tử 10.7.4 :
Bản cập nhật OS X Lion v10.7.4 bao gồm các bản sửa lỗi:
Giải quyết vấn đề trong đó "Mở lại cửa sổ khi đăng nhập lại" cài đặt luôn được bật.
Đối với hồ sơ, chúng tôi đã nói về điều này:
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 :
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
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ì đó.
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.
defaults read com.apple.loginwindow TALLogoutSavesState
trả lại 1
.
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ổ.
Đ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.
Đâ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!)
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.
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.
Cmd+Shift+G
(Chuyển đến thư mục) ~/Library/Preferences/ByHost/
Và xác nhận com.apple.loginwindow
Locked
hộp kiểm) 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ó.
Cmd+Shift+G
(Chuyển đến thư mục) ~/Library/Preferences/ByHost/
Và xác nhận com.apple.loginwindow
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*
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*
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*