ยกเลิกการเลือก“ เปิดหน้าต่างอีกครั้งเมื่อลงชื่อเข้าใช้” โดยค่าเริ่มต้น


17

ไดอะล็อกการปิด / รีสตาร์ทมีกล่องกาเครื่องหมายReopen windows when logging back inซึ่งตรวจสอบโดยค่าเริ่มต้น ฉันต้องเปลี่ยนพฤติกรรมของมันเพื่อไม่ให้ถูกเลือกโดยค่าเริ่มต้น เป็นไปได้ไหม ถ้าใช่ฉันจะทำอย่างไร

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


8

แก้ไข: ตั้งแต่ 10.7.4 ช่องทำเครื่องหมาย "เปิดหน้าต่างใหม่เมื่อลงชื่อเข้าใช้อีกครั้ง" ยังคงไม่ถูกตรวจสอบหากคุณยกเลิกการเลือกหนึ่งครั้งดังนั้นการแฮ็กด้านล่างไม่จำเป็นอีกต่อไป

ทางเลือกหนึ่งคือการตั้งค่าLoginwindowLaunchesRelaunchAppsคีย์เป็นเท็จใน~/Library/Preferences/com.apple.loginwindow.plist:

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

คุณสามารถบันทึกรายการคุณสมบัตินี้เป็น~/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>

จากนั้นโหลดรายการคุณสมบัติโดยเรียกใช้launchctl load ~/Library/LaunchAgents/logout_saves_state.plistหรือออกจากระบบแล้วกลับเข้ามาใหม่อีกครั้ง

TALLogoutSavesStateบางครั้งถูกรีเซ็ตเป็นจริงเมื่อฉันออกจากระบบและกลับเข้ามาใหม่ดังนั้นdefaults write com.apple.loginwindow TALLogoutSavesState -bool falseเมื่อทำงานเพียงครั้งเดียวจะไม่ทำงาน

ตัวเลือกเหล่านี้ไม่ทำให้กล่องกาเครื่องหมายปรากฏขึ้นจริง แต่มีผลเหมือนกัน


ฉันพบเหตุผลที่ยังคงทำเช่นนี้ใน 10.7.5: กล่องในไดอะล็อกรีสตาร์ทตอนนี้ไม่ถูกตรวจสอบโดยค่าเริ่มต้นและสถานะจะไม่ถูกกู้คืน แต่ถ้าฉันบังคับให้รีบูตโดยกดปุ่มเปิด / ปิดฮาร์ดแวร์บน MacBook ของฉันมันจะคืนสถานะ หลังจากใช้การแก้ไขนี้เมื่อรีบูตเครื่องด้วยปุ่มตอนนี้ฉันได้รับกล่องโต้ตอบเมื่อรีบูตซึ่งระบุว่า "คุณปิดตัวลงเพราะมีปัญหาคุณต้องการกู้คืนสถานะหรือไม่?" ดังนั้นฉันจะได้รับการรีบูตใหม่ทั้งหมด
Andrew Janke

4

บั๊กนี้ได้รับการแก้ไขด้วยการอัพเดท Lion 10.7.4 :

การอัปเดต OS X Lion v10.7.4 มีการแก้ไขที่:

แก้ไขปัญหาการตั้งค่า "เปิดหน้าต่างอีกครั้งเมื่อลงชื่อเข้าใช้" เปิดใช้งานอยู่เสมอ

ป้อนคำอธิบายรูปภาพที่นี่

( คลิกที่นี่สำหรับข้อมูลเพิ่มเติม )


2

ไม่มันถูกตั้งค่าเป็น "เปิด" เสมอ อย่างไรก็ตามมีสคริปต์ที่คุณสามารถเรียกใช้อยู่ซึ่งจะปิดใช้งานคุณลักษณะนี้ กล่องจะยังคงถูกตรวจสอบ แต่คุณลักษณะจะไม่ทำงานอีกต่อไป:

วางต่อไปนี้เป็นบรรทัดเดียวภายในเทอร์มินัล:

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

คำสั่งนั้นจะดาวน์โหลดสคริปต์วางไว้ในตำแหน่งที่เหมาะสมทำให้สามารถเรียกใช้งานได้จากนั้นจึงลบไฟล์ชั่วคราว หากคุณสงสัยว่าเนื้อหาของสคริปต์ทุบตีที่ดาวน์โหลดมีดังต่อไปนี้:

#!/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

หากคุณต้องการย้อนกลับสู่ลักษณะการทำงานเริ่มต้นของคุณลักษณะ OS X Lion นี้เพียงพิมพ์คำสั่งเริ่มต้นการเขียนต่อไปนี้:

sudo defaults delete com.apple.loginwindow LoginHook

และคุณจะกลับมาเพื่อเลือกการคืนค่าหน้าต่างตามตัวเลือกของช่องทำเครื่องหมายนั้น

ที่มา: http://osxdaily.com/


นอกจากนี้คุณยังสามารถปิดใช้งาน Resume สำหรับแอปพลิเคชันได้ตามแอป ดูคำตอบเหล่านี้ได้ที่นี่
gentmatt

ขอบคุณสำหรับสคริปต์มันแก้ไขหนึ่งใน "คุณสมบัติ" ที่น่ารำคาญที่สุดของ Macs ล่าสุด
เบีย

2

สิ่งนี้มีการเปลี่ยนแปลงในเวอร์ชั่นอัปเดตของ Mac OS X 10.7.4

แก้ไขปัญหาเมื่อเปิดใช้งานการตั้งค่า "เปิดหน้าต่างใหม่เมื่อลงชื่อเข้าใช้อีกครั้ง"

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือตัวเลือกใหม่อย่างที่คุณเห็น (แม้ว่ามันจะไม่ได้พิสูจน์ในตัวเองเพราะมันง่ายต่อการยกเลิกการเลือกและคว้าหน้าจอ แต่โปรดเชื่อฉัน - ฉันถูก stoked สวยเมื่อฉันตรวจสอบการปรับปรุงนี้เพราะข้อผิดพลาดนี้น่ารำคาญจริงๆ ฉัน!)

ป้อนคำอธิบายรูปภาพที่นี่


2

สำหรับโมฮาวีไม่มีตัวเลือกใดทำงานได้สำหรับฉัน แต่มีคนอื่นพูดถึงสิ่งต่อไปนี้และมันก็เพียงพอแล้วสำหรับฉัน:

ปิดหน้าต่างทั้งหมดยกเว้นเทอร์มินัลและเรียกใช้:

chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*

เทอร์มินัลและ Finder จะเป็นแอปเดียวที่จะเปิดเมื่อรีบูต


1

สำหรับบันทึกเรากำลังพูดถึงเรื่องนี้:

ภาพหน้าจอ

ปัญหาคือว่า OS X จำไม่ได้ว่าคุณยกเลิกการเลือกช่องทำเครื่องหมายในการปิดระบบครั้งล่าสุด - มันจะทำให้ช่องทำเครื่องหมายที่ตรวจสอบโดยค่าเริ่มต้นในการปิดที่ตามมา

ฉันพบวิธีแก้ไขปัญหาที่แตกต่างกันสองวิธีสำหรับปัญหานี้ซึ่งดูเหมือนว่าจะทำเคล็ดลับแม้ว่ามันจะไม่เหมาะก็ตาม

เปิด Terminal.app และป้อนคำสั่งต่อไปนี้:

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

สิ่งนี้จะปิดใช้งานตัวเลือก“ เปิดหน้าต่างอีกครั้งเมื่อลงชื่อเข้าใช้งาน” อย่างมีประสิทธิภาพแม้ว่าช่องทำเครื่องหมายจะยังคงปรากฏให้ตรวจสอบ คุณสามารถละเว้นได้

ฉันกลัวว่าจะไม่มีทางออกที่ดีกว่าอย่างน้อยก็ในตอนนี้


เป็นไปได้ที่จะปิดการใช้งาน Resume แบบต่อแอพด้วยเช่นกัน

นอกจากนี้ยังมีการตั้งค่าระบบที่อนุญาตให้คุณปิดการใช้งานสำหรับแอพทั้งหมดทั้งระบบ ไปที่การตั้งค่าระบบทั่วไป :

ภาพหน้าจอ

หรือคุณสามารถเรียกใช้คำสั่งนี้ใน Terminal.app:

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

(นำมาจาก.osxไฟล์ของฉัน)


TALLogoutSavesStateบางครั้งได้รับการรีเซ็ตเป็นจริงหลังจากออกจากระบบและกลับเข้ามาใหม่ defaults write com.apple.loginwindow TALLogoutSavesState -bool falseจะต้องทำงานที่การเข้าสู่ระบบโดยใช้ตัวแทนการเปิดตัวหรืออะไรบางอย่าง
Lri

@Lri ดูเหมือนว่าจะทำงานได้ดีสำหรับฉันแม้หลังจากออกจากระบบหลายครั้ง / รีบูตร่วมกับการLoginwindowLaunchesRelaunchAppsตั้งค่า ฉันจำการทดสอบสองรายการแยกกันซึ่งในกรณีนี้ฉันพบปัญหาที่คุณอธิบายไว้ในคำตอบของคุณ AFAICT มีบางอย่างเกี่ยวกับการรวมกันของการตั้งค่าสองอย่างที่ใช้กลอุบาย
Mathias Bynens

ฉันเพียงแค่ขับรถทั้งสองอีกครั้งออกจากระบบและกลับมาในสองครั้งและกลับdefaults read com.apple.loginwindow TALLogoutSavesState 1
Lri

TALLogoutSavesStateยังคงได้รับการตั้งค่าเป็นจริงด้วยตัวเอง แต่เพียงLoginwindowLaunchesRelaunchApps -bool falseอย่างเดียวดูเหมือนว่าเพียงพอที่จะปิดการใช้งานการกู้คืนหน้าต่าง
Lri

0

การยกเลิกการเลือก "เปิดหน้าต่างอีกครั้งเมื่อลงชื่อเข้าใช้" ไม่สามารถแก้ปัญหาให้ฉันได้ แอปยังคงเปิดใหม่หลังจากรีสตาร์ทจาก Apple Script หรือด้วยคำสั่งปิดในเทอร์มินัล

ป้องกัน macOS High Sierra อย่างถาวรไม่ให้เปิดแอปอีกครั้งหลังจากรีสตาร์ท

ทำงานใน macOS El Capitan, Yosemite, Sierra, High Sierra

โซลูชัน: ปฏิเสธการเข้าถึง OS X ไปยังไฟล์ที่ใช้ในการจัดเก็บสถานะเซสชันของคุณ มันช่วยป้องกันแอปที่เปิดใหม่แม้หลังจากรีบูต / ปิดเครื่องจากเทอร์มินัลจากAppleScriptและระบบขัดข้อง

วิธีการแบบ GUI

  1. เปิด Finder
  2. Cmd+Shift+G (ไปที่โฟลเดอร์)
  3. คัดลอก~/Library/Preferences/ByHost/และยืนยัน
  4. ค้นหาไฟล์ที่ขึ้นต้นด้วย com.apple.loginwindow
  5. Doubleclick (เปิดใน TextEdit)
  6. ลบเนื้อหาทั้งหมดและบันทึกไฟล์เปล่า กล่องโต้ตอบการยืนยันเพิ่มเติมอาจปรากฏขึ้น
  7. คลิกขวารับข้อมูล
  8. ล็อคไฟล์ ( Lockedเลือกช่องทำเครื่องหมาย)

วิธี GUI (ยกเลิก)

หากคุณต้องการยกเลิกการเปลี่ยนแปลงนี้ในภายหลังและเปิดใช้งานคุณสมบัติอีกครั้งเพียงแค่ลบไฟล์นี้แล้วระบบปฏิบัติการจะสร้างใหม่

  1. เปิด Finder
  2. Cmd+Shift+G (ไปที่โฟลเดอร์)
  3. คัดลอก~/Library/Preferences/ByHost/และยืนยัน
  4. ค้นหาไฟล์ที่ขึ้นต้นด้วย com.apple.loginwindow
  5. เพียงลบ

วิธีการ CLI

  1. เปิด Terminal.app
  2. ทำให้ไฟล์เป็นเจ้าของโดย root (ไม่เช่นนั้น OS จะทำการแทนที่)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. ลบสิทธิ์ทั้งหมดดังนั้นจึงไม่สามารถอ่านหรือเขียนได้

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

วิธีการ CLI (ยกเลิก)

  1. เปิดใช้งาน "เปิดแอปทั้งหมดอีกครั้ง" หลังจากเข้าสู่ระบบ

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

     


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.