Alasan layar logon Windows 7 bertahan 30 detik saat menggunakan latar belakang warna polos
(devblogs.microsoft.com)- Di Windows 7 dan Windows Server 2008 R2, jika menggunakan latar belakang polos, layar Welcome saat logon bisa tetap tampil hingga 30 detik, dan penyebabnya adalah sinyal siap yang tidak terkirim
- Sistem logon menunggu bilah tugas, komponen layanan sistem, jendela desktop, dan tampilan latar belakang semuanya melaporkan siap, atau sampai 30 detik berlalu, sebelum mengganti layar Welcome
- Kode latar belakang hanya memanggil
Report(WallpaperReady)saat ada latar belakang bitmap, sehingga pada latar belakang warna polos tanpa bitmap kondisi tunggu terus bertahan sampai akhir - Kebijakan grup “Hide desktop icons” juga bisa mengalami pola yang sama jika pemanggilan
Report(DesktopIconsReady)terikat di dalam pernyataan kondisi sehingga laporan kesiapan ikon bisa terlewat - Ini tidak selalu berarti proses logon benar-benar bertambah 30 detik; yang terjadi adalah layar Welcome tetap bertahan hingga batas waktu 30 detik terlepas dari apakah proses persiapan sebenarnya seharusnya selesai dalam 5 detik atau 25 detik
Alasan layar Welcome bertahan lama pada latar belakang warna polos
- Setelah autentikasi logon selesai, Windows menyiapkan lingkungan desktop pengguna
- Membuat bilah tugas
- Memuat dan menginisialisasi komponen yang menangani berbagai layanan sistem
- Membuat jendela desktop dan menampilkan ikon
- Memuat wallpaper pada jendela latar belakang desktop dan menggambarnya ke layar
- Sistem logon menunggu sampai setiap komponen melaporkan bahwa dirinya siap
- Jika semua komponen melaporkan siap, layar Welcome akan diganti
- Atau, jika 30 detik telah berlalu, layar Welcome akan diganti
- Masalah latar belakang warna polos terjadi karena laporan kesiapan wallpaper ditempatkan di dalam kode pemuatan bitmap
- Jika latar belakang bitmap didefinisikan, sistem akan mencari file, memuatnya ke memori, menggambarnya ke layar, lalu memanggil
Report(WallpaperReady) - Jika tidak ada bitmap seperti pada latar belakang warna polos, jalur kode tersebut tidak dijalankan sehingga laporan
WallpaperReadytidak pernah terjadi - Sistem logon menunggu laporan yang tidak akan pernah datang hingga mencapai batas 30 detik
- Jika latar belakang bitmap didefinisikan, sistem akan mencari file, memuatnya ke memori, menggambarnya ke layar, lalu memanggil
Sinyal kesiapan yang hilang juga berulang pada kebijakan grup
- Dokumen dukungan terkait menyebutkan bahwa saat kebijakan grup “Hide desktop icons” diaktifkan, penundaan 30 detik yang sama juga bisa terjadi
- Kebijakan grup sering ditambahkan belakangan di atas kode yang sudah ada, sehingga mudah dibungkus dengan kondisi seperti “jalankan jika kebijakan mengizinkan”
- Kode awal inisialisasi ikon desktop akan melakukan binding ke folder desktop, mengenumerasi ikon, menambahkannya ke layar, lalu memanggil
Report(DesktopIconsReady) - Jika saat menambahkan dukungan kebijakan grup seluruh blok ini dipindahkan ke dalam pernyataan kondisi kebijakan, maka ketika kebijakan sembunyikan ikon aktif, laporan siap pun tidak dijalankan
- Kode awal inisialisasi ikon desktop akan melakukan binding ke folder desktop, mengenumerasi ikon, menambahkannya ke layar, lalu memanggil
- Fenomena ini bukan berarti pekerjaan logon itu sendiri selalu membutuhkan tambahan 30 detik
- Bergantung pada performa sistem, semua laporan kesiapan bisa saja aslinya selesai dalam 5 detik atau 25 detik
- Saat masalah ini terjadi, layar Welcome tetap dipertahankan sampai batas waktu 30 detik tanpa memedulikan waktu persiapan yang sebenarnya
- Berdasarkan stempel waktu dokumen, masalah ini diperbaiki pada November 2009, beberapa bulan setelah Windows 7 dirilis pada Juli 2009
- Salah satu alasan dulu orang menghindari latar belakang bitmap adalah karena pada lingkungan memori 4MB atau 8MB di masa lalu, wallpaper saja sudah bisa memakai sekitar 0,75MB
1 komentar
Opini Hacker News
Sebagai orang yang lebih suka latar belakang warna solid, saya selalu heran bagaimana preferensi sesederhana ini sering berujung ke lubang kelinci yang aneh
Di macOS terbaru, kalau mencoba menyetel latar belakang warna solid kustom, yang muncul hanya layar putih menyilaukan: https://discussions.apple.com/thread/256029958?sortBy=rank
GNOME menghapus semua UI untuk pengaturan latar belakang warna solid, tetapi secara teknis masih bisa jika beberapa key pengaturan diubah secara manual, dan key-key itu juga tampaknya berubah acak di tiap versi: https://www.tc3.dev/posts/2021-09-04-gnome-3-solid-color-bac...
Pada akhirnya ini terlihat seperti fitur yang dibiarkan setengah ada demi segelintir pengguna, dan lebih baik didukung dengan benar atau dihapus secara bersih. Saya ingin sekadar memasukkan nilai RGB, tetapi dalam kondisi sekarang, menurut saya satu sistem wallpaper yang dikelola dengan baik lebih baik daripada logika warna latar yang rapuh
wallpaper type: plain colorlalu menentukannya lewat pemilih warnaLayar yang akan diterapkan juga ditampilkan, dan ada opsi boolean untuk menerapkannya ke semua layar sekaligus
Pada layar ponsel modern itu masuk akal dari sisi daya dan juga enak dilihat, tetapi sesuatu yang seharusnya menjadi opsi bawaan atau sakelar sekali ketuk di pengaturan malah berubah menjadi pekerjaan remeh yang melewati rasa tidak percaya, pencarian, lalu pasrah
Di OS X lama fitur ini berjalan baik selama lebih dari 20 tahun, jadi tampaknya terkait dengan penulisan ulang System Preferences
Karena shortcut desktop disalahgunakan dari generasi ke generasi, menampilkan desktop menjadi pemborosan ruang layar, dan meski berhati-hati pun akhirnya berubah menjadi tanah kosong yang berantakan. Terutama di Windows, dan saya akhirnya terbiasa tidak memakai desktop untuk apa pun serta selalu membiarkan jendela terbuka di beberapa monitor
Setelah menghindari dunia Windows selama 25 tahun terakhir lalu kembali ke lingkungan korporat dalam beberapa tahun belakangan, saya terus melihat pola seperti ini di alat-alat Microsoft
Karena masalah keamanan, Teams tidak mau dimuat, tetapi notifikasi menampilkan seluruh isi pesan; atau di versi cloud Word, pemeriksaan keamanan baru menyusul setelah mengetik beberapa kata atau menempelkan seluruh dokumen, lalu meminta pengaturan label sensitivitas
Ini tampak sebagai tanda bahwa arsitektur perangkat lunak aplikasi web Microsoft sangat buruk, dan aplikasi desktopnya pun sepertinya bukan pengecualian
Setelah itu permintaan izin muncul, dan jika ditolak pratinjaunya hilang
Untuk kasus penggunaan yang jelas, semuanya bekerja sangat baik, tetapi begitu bertemu kasus tepi yang tidak dicakup, Anda langsung menabrak masalah aneh. Para pengembangnya tidak punya reputasi kurang cakap, jadi mungkin penyebabnya budaya perusahaan atau cara kerja; dan dengan basis pengguna yang sangat besar, 80% mungkin optimal secara bisnis. Meski begitu, dari sudut pandang pengembang eksternal, saya jadi sebisa mungkin menghindari produk Microsoft
Laptop yang 5 tahun lalu bisa tidur sempurna kini menjadi zombie 24 jam dengan CPU, kipas, dan hard disk terus berputar
Saya yakin perubahan bodoh yang mirip dengan yang dibahas di tulisan ini merusak fitur yang tadinya baik-baik saja, dan tak ada yang memperbaikinya karena khawatir mengganggu gagasan omong kosong terbaru yang ingin membuat laptop 10 tahun menjalankan AI saat tidur untuk mengusulkan iklan berdasarkan hal-hal yang didengarnya
Ini terkait dengan praktik yang mungkin mulai muncul sekitar masa itu: menampilkan splash screen hanya selama waktu tertentu, lalu menampilkan lingkungan pengguna lebih dulu sebelum perangkat lunak benar-benar selesai dijalankan
Saya menduga baik sistem operasi maupun aplikasi melakukannya untuk menghindari kesan “aplikasinya terlalu lama”. Sekarang kita harus menebak apakah perangkat lunak benar-benar sudah dimuat sebelum menggunakannya
Baru setelah itu kita melihat UI thread yang tidak responsif menunggu kosong sampai semua perangkat lunak di bawahnya selesai dimuat
Pertimbangannya adalah desktop yang setengah rusak tetapi tetap bisa dipakai masih lebih baik daripada terjebak selamanya di layar loading sampai harus boot ke OS lain untuk memperbaikinya
Saat melakukan sesuatu, UI menampilkan roda loading/progres tetapi sebenarnya berlangsung tanpa akhir; saat halaman web mulai, layar kosong menampilkan bar placeholder atau gambar warna buram. Konon inilah desain responsif
Kadang-kadang lebih baik bagi pengguna jika sistem menanganinya secara optimistis dengan menganggapnya memang sudah dimuat
Saya belajar untuk memakai pengaturan bawaan hampir di semua tempat
Memelihara kustomisasi itu terlalu merepotkan, jadi yang paling mudah adalah tidak memedulikannya. Pengecualiannya adalah sekitar 50 baris pengaturan VS Code yang disinkronkan ke sebuah berkas misterius entah di mana, mungkin di server GitHub, tetapi tidak ada di tempat yang bisa saya lihat
Di komputer pribadi saya memakai stow, dan di mesin jarak jauh saya salin-tempel. Saya suka karena alat-alat ini sangat stabil sehingga tetap baik-baik saja meski pindah ke Debian stable
Bahkan jika saya langsung memulihkan cadangan Sublime Text dari beberapa tahun lalu, pengaturan pengguna saya masih tetap berfungsi
Sebagai pengingat berkala, nix memang bagus
Anda bisa bilang, “Ada bug, dan VM untuk mereproduksinya bisa didapat dengan
nixos-rebuild build-vm --flake "github:user/repo#test-vm" && ./result/bin/run-*-vm.” Kode yang membuat VM itu juga bukan gumpalan biner yang seperti mimpi buruk keamanan, melainkan ekspresi nix biasa yang bisa dibaca siapa pun, dan menerapkannya ke mesin baru selesai dengan satu perintahJika Anda memahami apa yang dilakukan default, sering kali jauh lebih merepotkan untuk mengutak-atik semua opsi di dunia
Ungkapan “comfort food” itu lucu. Bahkan setelah pindah dari AIX ke Linux, saya masih memakai motif window manager dengan desktop steelblue4 dan latar xterm berwarna wheat
Itu adalah default yang pertama kali saya temui saat kuliah pada 1989, dan saya merasa tidak ada yang lebih baik sejak itu. Hal-hal seperti GNOME dan KDE membuat saya mual
Wrapper
if()tambalan yang cakupannya sedikit terlalu melebar adalah contoh klasikNostalgia adalah obat yang kuat
Bukan menyindir, saya sungguh penasaran apakah HiDPI benar-benar berjalan di motif
Dahulu kala, saat memakai Windows sebagai hobi, saya mengedit nilai kunci Registry Windows tertentu untuk mengganti
explorer.exedengancmd.exeDengan begitu Windows tidak menjalankan
explorer.exeuntuk menampilkan desktop dengan wallpaper dan ikon, melainkan menjadi lingkungan seperti window manager UNIX: tiap jendela muncul sebagai shell Microsoftcmd.exedi atas latar satu warna. Bentuknya kotak hitam Windows klasik dengan bilah judul biru dan bingkai abu-abu tipis, dan dari Command Prompt saya bisa menjalankan aplikasi sepertitaskmgr.exediC:\windows\system32Bagi saya itu terasa jauh lebih cepat dan kokoh daripada memakai
explorer.exe, dan jelas lebih ringan. Belakangan saya melihat foto di tulisan Arthur Whitney yang memperlihatkan desktop Windows dengan hanya satu jendelacmd.exeterbuka; bukan bermaksud menyiratkan apa pun, tetapi adegan itu selalu melekat di ingatanSaya juga melihat ini di dokumentasi Microsoft baru-baru ini: https://learn.microsoft.com/en-us/windows/configuration/shel...
Saya ingat ada versi Windows murah/gratis untuk IoT atau embedded yang juga berjalan hanya cmd tanpa
explorerHal seperti ini masuk kategori yang saya sebut bug sistemik atau “bug tipe”
Jika mereka meneruskan token ke komponen login, lalu membuat destruktor token itu otomatis menandai proses selesai, bug ini hampir mustahil ditulis
Alih-alih, karena runtime membuatnya menjadi “komponen-komponen harus mengingat ini”, struktur kodenya sendiri memungkinkan bug
Beberapa tahun lalu Facebook juga punya bug serupa: jumlah notifikasi menunjukkan ada notifikasi, tetapi saat diklik tidak ada apa-apa. Jalur pembaruan jumlah dan jalur penyisipan daftar berbeda sehingga tidak sinkron; ketika keduanya diubah agar dikelola oleh bagian sistem yang sama, bug itu hilang permanen
Saya selalu mengira penyebabnya caching yang buruk
Sedikit meta, tetapi saya jadi menantikan judul bergaya “Why did happen with” yang mengabarkan tulisan Raymond Chen
Selalu menarik
Itu satu-satunya blog yang menjawab takhayul komputasi terkait Windows yang saya punya sejak kecil
Kode itu mengingatkan saya pada banyak bug Kubernetes favorit saya
if (request.authenticationData) { ok := validate(etc); if (!ok) { return authenticationFailure; } }Meme yang sama berlanjut melintasi puluhan tahun
Jika setiap fungsi yang membutuhkan izin tertentu dibuat menerima izin itu sebagai argumen, misalnya ditulis seperti
void doFoo(PermissionToDoFoo permission, ...){...}, dan pemanggilan hanya bisa dilakukan melalui jalur yang memperoleh izin dari data autentikasi, maka keadaan keliru berupa menjalankan Foo tanpa izin menjadi tidak mungkin direpresentasikanApakah jika
authenticationDatatidak ada, secara default diperlakukan sebagai sudah terautentikasi?Sedikit menyimpang dari topik, tetapi saya sangat menyukai wallpaper Windows Spotlight di layar login yang otomatis diperbarui
Jadi saya juga memakai skrip untuk menyinkronkannya sebagai wallpaper desktop. Namun di Windows 10 saya, fitur itu berhenti tanpa alasan, jadi sebagai gantinya saya membuat skrip untuk mengunduh Bing Image of the Day: https://blog.est.im/2025/stdout-03