Windows korumalı alanı

Windows korumalı alanı

Windows'taki yerel Codex korumalı alanını yapılandırın ve sorunlarını giderin

Codex'i Windows'ta yerel ChatGPT masaüstü uygulaması, CLI veya IDE uzantısı ile kullanın.

Windows'taki ChatGPT masaüstü uygulaması; paralel sohbetler, worktree'ler, zamanlanmış görevler, Git işlevleri, yerleşik tarayıcı, dosya önizlemeleri, eklentiler ve beceriler gibi temel iş akışlarını destekler.

Uygulama, WSL veya sanal makine gerektirmeden Windows korumalı alanıyla PowerShell'de yerel olarak çalışabilir. Böylece Codex, Windows'a özgü iş akışlarında kalırken dosya sistemi ve ağ izinleri belirli sınırlar içinde uygulanır.

Kurumsal kurulum için Windows Dağıtım Kılavuzu'na bakın.

Windows'ta ChatGPT masaüstü uygulamasını kullanınYerel Windows uygulamasıyla projeler arasında çalışın, paralel sohbetler yürütün ve sonuçları tek bir yerde inceleyin.

Codex, Windows için üç korumalı alan uygulamasını destekler:

  • mxc: Uyumlu Windows cihazlarında önerilen korumalı alandır. Yönetici onaylı kurulum, ek Windows hesapları veya yerel güvenlik duvarı kuralları gerektirmeden yerel işlem yalıtımını kullanır.
  • elevated: MXC kullanılamadığında veya devre dışı bırakıldığında tercih edilen eski yedek uygulamadır. Yönetici onaylı kurulum gerektirir. Korumalı alandaki komutlar yönetici ayrıcalıkları olmadan çalışır.
  • unelevated: Yükseltilmiş ayrıcalıklarla kurulum yapılamadığında ve kuruluş politikası izin verdiğinde kullanılan eski bir yedek uygulamadır. elevated uygulamasına göre daha zayıf ağ yalıtımı sağlar ve okuma erişimi engellenen yolları desteklemez.

Windows korumalı alanını yapılandırma

Windows korumalı alanı, komutlar ve bunların alt süreçleri için etkin dosya sistemi ve ağ izinlerini uygular. İzin profili, hangi yolların okunabilir veya yazılabilir olduğunu ve ağ erişimine izin verilip verilmediğini belirler. Onay politikası ise Codex'in komutları daha geniş erişimle çalıştırmak için ne zaman onay isteyeceğini ayrıca denetler. Bkz. korumalı alan ve onaylar.

MXC'yi etkinleştirin

Masaüstü uygulaması, cihaz desteklediğinde bireysel hesaplar için otomatik olarak MXC'yi tercih eder. Kurumsal dağıtımlar veya bağımsız CLI kullanımı için aşağıdaki yapılandırmayla aynı davranışı etkinleştirebilirsiniz.

config.toml dosyasında:

[features]
prefer_mxc = true

prefer_mxc = true ayarıyla Codex, cihaz ve ilke desteklediğinde Windows komutları için MXC'yi kullanır. Aksi takdirde mevcut eski uygulama seçimi ve kurulum akışını kullanır.

Cihaz desteğinin veya ilkelerin değişkenlik gösterdiği kuruluşlarda, windows.sandbox ayarını kuruluşunuzun izin verdiği eski uygulamaya, yani elevated veya unelevated değerine, yedek seçenek olarak ayarlı tutun.

Yöneticiler bu yapılandırmayı varsayılan olarak dağıtabilir veya features.prefer_mxc = true ayarını requirements.toml aracılığıyla zorunlu kılabilir. Her iki yöntem de eski uygulamaya geçişe izin verir. Varsayılanlar ile gereksinimler arasındaki farklar için merkezi olarak yönetilen yapılandırma bölümüne bakın.

MXC'yi devre dışı tutun

Kuruluşunuzda MXC kullanımını engellemek için merkezi olarak yönetilen requirements.toml dosyanıza şunu ekleyin:

[windows]
allow_mxc = false

Bu ayar hem otomatik MXC seçimini hem de açıkça belirtilen windows.sandbox = "mxc" seçimini engeller. Mevcut eski korumalı alan ayarları ve gereksinimleri geçerliliğini korur.

MXC uyumluluğu

Ana makinede, Microsoft'un Windows 11 cihazlarına aşamalı olarak sunduğu gerekli Microsoft Execution Containers (MXC) yeteneklerinin zaten bulunması gerekir. Microsoft, MXC işlem yalıtımını Windows 11 24H2 (derleme 26100.9278) ve 25H2 (derleme 26200.9278) ile kullanıma sundu. Cihazınızda MXC desteğini doğrulamak için aşağıdaki komutu kullanın.

Codex CLI 0.162.0 ve sonraki sürümlerde, kayıtlı korumalı alan seçimini değiştirmeden MXC'yi tek bir komut için test edebilirsiniz. Proje dizininizden şu komutları çalıştırın:

codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK
$LASTEXITCODE

Beklenen çıktı MXC_OK, çıkış kodu ise 0 değeridir. Bu test, komutun çalışma alanı izin profili ve yönetilen gereksinimlerle başlatılmasını denetler.

Açıkça belirtilen windows.sandbox = "mxc" seçimi, gerekli yerel yetenekler bulunmuyorsa veya ilke MXC'yi engelliyorsa başarısız olur.

Şu uyumluluk sınırlamalarını dikkate alın:

  • Yönetilen ağ kullanımı, etkin allow_local_binding = true gerektirir. MXC, ana makinenin geri döngü arabirimindeki hizmetlere gelen ve bu hizmetlerden giden bağlantılara izin verir. Proxy üzerinden geçen trafik için proxy etki alanı kuralları geçerliliğini korur, ancak proxy'nin özel ağ hedeflerine yönelik ek denetimleri kaldırılır.
  • Ön plandaki komut sonlandığında kalan alt süreçler durdurulur. Bağımsız çalışan geliştirme sunucularına dayanan iş akışlarını test edin.
  • Okumayı engelleyen glob kalıpları, Linux ve WSL'de olduğu gibi, korumalı alandaki her süreç başladığında eşleşen dosyaları esas alır. Daha sonra oluşturulan eşleşen dosyalar, diğer izinleri erişime olanak tanıyorsa çalışan bu süreç tarafından okunabilir. Uzun süre çalışan kabuklar, betikler, izleyiciler ve geliştirme sunucuları bu anlık görüntüyü tüm Codex oturumu boyunca değil, kendi ömürleri boyunca korur. Okumayı engelleyen glob kalıplarının zamanlamasına bakın.

Eski bir yedek uygulamayı yapılandırma

Yedek uygulamayı config.toml dosyasında seçin:

[windows]
sandbox = "elevated" # or "unelevated"

elevated, tercih edilen eski yedek uygulamadır. Özel olarak ayrılmış, daha düşük ayrıcalıklı korumalı alan kullanıcılarını, dosya sistemi izin sınırlarını, güvenlik duvarı kurallarını ve korumalı alanda çalışan komutlar için gereken yerel politika değişikliklerini kullanır.

MXC gibi elevated da korumalı alandaki her süreç başladığında okumayı engelleyen glob kalıplarının eşleşmelerini listeler. Daha sonra oluşturulan eşleşen dosyalar, diğer izinleri erişime olanak tanıyorsa çalışan bu süreç tarafından okunabilir. Bunun uzun süre çalışan süreçler üzerindeki etkileri için okumayı engelleyen glob kalıplarının zamanlamasına bakın.

unelevated, eski bir yedek uygulamadır. Komutları mevcut kullanıcınızdan türetilen kısıtlı bir Windows belirteciyle çalıştırır, ACL tabanlı dosya sistemi sınırları uygular ve çevrimdışı kullanıcıya özel güvenlik duvarı kuralı yerine ortam düzeyinde çevrimdışı denetimler kullanır. Ağ yalıtımı, elevated uygulamasına göre daha zayıftır ve okuma erişimi engellenen yolları desteklemez; ancak yönetici onaylı kurulum yerel politika veya kuruluş politikası tarafından engellendiğinde yine de yararlıdır.

Cihaz ve ilke desteklediğinde MXC'yi kullanın. Aksi takdirde elevated seçeneğini tercih edin ve unelevated seçeneğini ikinci yedek olarak kullanın.

Kuruluş yöneticileri, Codex'in kullanabileceği eski korumalı alan uygulamalarını requirements.toml aracılığıyla sınırlandırabilir:

[windows]
allowed_sandbox_implementations = ["elevated"]

Bu örnek elevated seçeneğine izin verir ve yedek olarak unelevated seçeneğine geçilmesini engeller. MXC kullanılabilir olduğunda mxc seçeneğini kısıtlamaz. Yönetilen diğer izin ve ağ gereksinimleri geçerliliğini korur. Her iki eski uygulamaya da izin vermek için iki değeri de ekleyin; hiçbir mod seçilmediğinde Codex elevated seçeneğini tercih eder.

Desteklenen değerler için requirements.toml başvurusuna bakın. MXC'yi de engellemek için ayrı bir gereksinim olan windows.allow_mxc gereksinimini kullanın.

Varsayılan olarak her iki eski korumalı alan modu da daha güçlü kullanıcı arabirimi yalıtımı için özel bir masaüstü kullanır.

Eski yükseltilmiş korumalı alanın BT tarafından hazırlanması

Yerel yönetici hakları olmayan çalışanlar için BT birimi, çalışan Codex'i başlatmadan önce CLI'yi yükleyebilir ve yükseltilmiş korumalı alanı hazırlayabilir. Yükseltilmiş ayrıcalıklarla çalışan bir dağıtım işleminden şu komutu çalıştırın:

codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

Kimliği ve yolu, çalışanın Windows kimliği ve CODEX_HOME ile değiştirin. Komut, bu kullanıcının yapılandırmasını okur, korumalı alanı hazırlar ve windows.sandbox = "elevated" ayarını kaydeder. Çalışan daha sonra Codex'i normal bir terminalden çalıştırır.

Korumalı alan izinleri

Windows sürümü matrisi

Windows sürümü Destek düzeyi Notlar
Windows 11 Önerilir Windows'ta Codex için en iyi temel seçenektir. Kurumsal bir dağıtımı standartlaştırıyorsanız bunu kullanın.
Güncel ve tamamen güncellenmiş Windows 10 Mümkün olan en iyi destek Çalışabilir ancak Windows 11'den daha az güvenilirdir. Codex, Windows 10'da ConPTY dâhil modern konsol desteğine bağımlıdır. Uygulamada Windows 10 sürüm 1809 veya üzeri gerekir.
Eski Windows 10 derlemeleri Önerilmez ConPTY gibi gerekli konsol bileşenlerinin eksik olma ve kurumsal kurulumlarda başarısız olma olasılığı daha yüksektir.

Ek ortam varsayımları:

  • winget kullanılabilir olmalıdır. Yoksa Codex'i kurmadan önce Windows'u güncelleyin veya Windows Package Manager'ı yükleyin.
  • Eski elevated korumalı alanı, yönetici onaylı kurulum gerektirir.
  • Kuruluş tarafından yönetilen bazı cihazlar, işletim sistemi sürümü uygun olsa bile gerekli kurulum adımlarını engeller.
  • MXC ayrıca aşağıdaki bölümde açıklanan yerel yetenekleri gerektirir: MXC uyumluluğu. Bu matris, MXC'nin belirli bir cihazda kullanılabilir olduğunu kanıtlamaz.

Korumalı alanın okuma erişimini denetleme

Bir komut bir dizini okuyamadığında etkin izin profilini, merkezi olarak yönetilen gereksinimleri ve Windows dosya izinlerini kontrol edin. CLI'da /status ve /debug-config komutlarını kullanarak etkin oturumu ve yapılandırmayı inceleyin. Korumalı alanı devre dışı bırakmak yerine yöneticinizden merkezi olarak yönetilen kısıtlamayı gözden geçirmesini isteyin.

Varsayılan olarak yerel Windows korumalı alanını kullanın. Linux'a özgü araçlara ihtiyaç duyduğunuzda, iş akışınız zaten WSL2'de olduğunda veya mevcut yerel Windows uygulamaları ihtiyaçlarınızı karşılamadığında WSL seçeneğini tercih edin.

Sorun giderme ve SSS

Yönetilen bir Windows makinesinde sorun gideriyorsanız öncelikle yerel korumalı alan modunu, Windows sürümünü ve Codex'in gösterdiği ilke hatalarını kontrol edin. MXC için uyumluluğu ve geçerli ağ ilkesini kontrol edin. Eski korumalı alan sorunları kurulumdan, oturum açma haklarından veya dosya sistemi izinlerinden kaynaklanabilir.

Eski korumalı alan kurulumum başarısız oldu

Codex elevated korumalı alanı kurulumunu tamamlayamıyorsa en yaygın nedenler şunlardır:

  • Windows UAC veya yönetici isteminin reddedilmesi,
  • makinenin yerel kullanıcı ya da grup oluşturmaya izin vermemesi,
  • makinenin güvenlik duvarı kuralı değişikliklerine izin vermemesi,
  • makinenin korumalı alan kullanıcılarının ihtiyaç duyduğu oturum açma haklarını engellemesi,
  • veya başka bir kurumsal politikanın kurulum akışının bir bölümünü engellemesi.

Deneyebilecekleriniz:

  1. elevated korumalı alan kurulumunu yeniden deneyin ve ortamınız izin veriyorsa yönetici onayı istemini onaylayın.
  2. Şirket dizüstü bilgisayarınız bunu engelliyorsa BT ekibinize makinenin yerel kullanıcı/grup oluşturma, güvenlik duvarı yapılandırması ve gerekli korumalı alan kullanıcısı oturum açma hakları için yönetici onaylı kuruluma izin verip vermediğini sorun.
  3. Kurulum yine başarısız olursa ve yönetilen ilke izin veriyorsa sorun araştırılırken unelevated kullanın.

Codex beni yükseltilmemiş korumalı alana geçirdi

unelevated uygulaması yapılandırmada seçilebilir veya elevated kurulumu kullanılamadığında yedek seçenek olarak kullanılabilir.

  • Codex yine de korumalı alan modunda çalışabilir.
  • ACL tabanlı dosya sistemi sınırlarını uygulamaya devam eder ancak elevated seçeneğindeki ayrı korumalı alan kullanıcısı sınırını kullanmaz ve ağ yalıtımı daha zayıftır.
  • Bu yararlı bir yedek seçenektir ancak uzun vadeli kurumsal yapılandırma için tercih edilmez.

Yönetilen bir kurumsal dizüstü bilgisayarda önce MXC uyumluluğunu kontrol edin. MXC kullanılamıyorsa veya devre dışıysa BT ekibinizden elevated kurulumunu sağlamasını isteyin.

Windows 1385 hatasını görüyorum

Korumalı alandaki komutlar 1385 hatasıyla başarısız oluyorsa Windows, korumalı alan kullanıcısının komutu başlatmak için ihtiyaç duyduğu oturum açma türünü reddediyordur.

Bu genellikle Codex'in korumalı alan kullanıcılarını başarıyla oluşturduğu ancak Windows politikasının bu kullanıcıların korumalı alandaki komutları başlatmasını hâlâ engellediği anlamına gelir.

Yapılacaklar:

  1. BT ekibinize cihaz politikasının Codex tarafından oluşturulan korumalı alan kullanıcılarına gerekli oturum açma haklarını verip vermediğini sorun.
  2. Sorun yalnızca bazı makineleri veya ekipleri etkiliyorsa grup politikası ya da OU farklılıklarını karşılaştırın.
  3. Hemen çalışmaya devam etmeniz gerekiyorsa politika sorunu incelenirken unelevated korumalı alanını kullanın.
  4. Windows sürümünüz ve hatanın kısa bir açıklamasıyla birlikte CODEX_HOME/.sandbox/sandbox.log gönderin.

Codex bazı klasörlerin Everyone tarafından yazılabilir olduğu konusunda uyarıyor

Codex, bazı klasörlerin Everyone tarafından yazılabilir olduğu konusunda uyarabilir.

Bu uyarıyı görüyorsanız söz konusu klasörlerdeki Windows izinleri, korumalı alanın bunları tamamen koruyabilmesi için fazla geniştir.

Yapılacaklar:

  1. Codex'in uyarıda listelediği klasörleri inceleyin.
  2. Ortamınız için uygunsa bu klasörlerden Everyone yazma erişimini kaldırın.
  3. İzinler düzeltildikten sonra Codex'i yeniden başlatın veya korumalı alan kurulumunu yeniden çalıştırın.

Bu izinleri nasıl değiştireceğinizden emin değilseniz BT ekibinizden yardım isteyin.

Korumalı alandaki komutlar ağa erişemiyor

Kullanılan izin moduna bağlı olarak bazı Codex sohbetleri, dış ağa erişim olmadan bilerek çalıştırılır.

Bir görev ağa erişemediği için başarısız olursa:

  1. Görevin ağ devre dışıyken çalıştırılmasının amaçlanıp amaçlanmadığını kontrol edin.
  2. Ağ erişimi bekliyorsanız Codex'i yeniden başlatıp tekrar deneyin.
  3. Sorun devam ederse ekibin makinenin kısmi veya bozuk bir korumalı alan durumunda olup olmadığını denetleyebilmesi için korumalı alan günlüğünü toplayın.

Korumalı alan daha önce çalışıyordu, sonra durdu

Bu durum şunlardan sonra yaşanabilir:

  • bir depoyu veya çalışma alanını taşıma,
  • makine izinlerini değiştirme,
  • Windows politikalarını değiştirme,
  • veya diğer sistem yapılandırması değişiklikleri.

Deneyebilecekleriniz:

  1. Codex'i yeniden başlatın.
  2. MXC için uyumluluk denetimini tekrarlayın ve geçerli ağ ilkesini kontrol edin. Eski elevated uygulaması için korumalı alan kurulumunu yeniden deneyin.
  3. Eski bir korumalı alan gerekiyorsa ve yönetilen ilke buna izin veriyorsa, unelevated seçeneğini geçici bir alternatif olarak kullanın.
  4. İncelenmesi için korumalı alan günlüğünü toplayın.

OpenAI'a tanılama bilgileri göndermem gerekiyor

Sorun yaşamaya devam ederseniz şunu gönderin:

  • CODEX_HOME/.sandbox/sandbox.log

Şunları eklemek de yararlıdır:

  • ne yapmaya çalıştığınızın kısa bir açıklaması,
  • seçilen uygulama: mxc, elevated veya unelevated,
  • uygulamada gösterilen hata iletileri,
  • 1385 ya da başka bir Windows veya PowerShell hatası görüp görmediğiniz,
  • Windows derleme numaranız,
  • ve Windows 11 mi yoksa Windows 10 mu kullandığınız.

Şunu göndermeyin:

  • CODEX_HOME/.sandbox-secrets/ içeriğini

IDE uzantısı yüklü ancak yanıt vermiyor

Sisteminizde bazı yerel bağımlılıkların gerektirdiği C++ geliştirme araçları eksik olabilir:

  • Visual Studio Build Tools (C++ iş yükü)
  • Microsoft Visual C++ Redistributable (x64)
  • winget ile winget install --id Microsoft.VisualStudio.2022.BuildTools -e komutunu çalıştırın

Yüklemeden sonra VS Code'u tamamen yeniden başlatın.