Kurulum
Codex CLI'ı bir VPS'te çalıştırmak
Codex küçük bir Linux sunucuda iyi çalışır. Sürtünmenin çoğu girişte ve Linux sandbox'ında. Bu rehber kurulumu, tarayıcısız oturum açmayı, oturumları canlı tutmayı ve sunucuya telefondan nasıl ulaşılacağını anlatıyor.
Kısa yanıt
curl -fsSL https://chatgpt.com/codex/install.sh | sh (veya npm install -g @openai/codex) ile kurun. Ardından ChatGPT güvenlik ayarlarınızda cihaz koduyla girişi açın ve sunucuda codex login --device-auth çalıştırın. SSH bağlantınızdan uzun yaşaması için Codex'i tmux veya bir daemon içinde çalıştırın. ChatGPT uygulamasındaki Remote resmi olarak yalnızca macOS ve Windows ana bilgisayarlarını destekliyor. Bir Linux VPS'e ancak bunlardan biri üzerinden ulaşılabilir: uyanık kalan bir Mac veya PC'deki ChatGPT masaüstü uygulaması onu bir SSH projesi olarak açar. VPS'e telefondan doğrudan ulaşmak için bir SSH uygulaması ya da Maude gibi sunucuyla konuşan bir istemci kullanın.
Bir sunucu, OpenAI'ın Codex CLI'ı için iyi bir yuvadır. Dizüstünüz kapalıyken çalışmaya devam eder, kopan bir bağlantıdan sağ çıkar ve bir çalışma ters giderse makineyi yeniden kurabilirsiniz. Yeni bir Linux VPS'te insanları iki şey tökezletir. Birincisi, düz codex login sunucuya asla ulaşamayacak bir tarayıcı yönlendirmesini bekler. İkincisi, sandbox çoğu minimal imajın içermediği bir paket gerektirir. Bu rehber ikisini de çözüyor, ardından oturumları canlı tutmayı ve onlara telefondan ulaşma yollarını anlatıyor.
Gereksinimler
- Bir Linux sunucu, x86-64 veya arm64. OpenAI ikisi için de ikili dosyalar yayımlıyor, macOS da çalışır. Debian veya Ubuntu kolay yoldur.
- Bir hesap. Bir ChatGPT planı ya da bir OpenAI API anahtarı. OpenAI'ın Codex fiyat sayfası, Codex'in ChatGPT Free, Go, Plus, Pro, Business, Edu ve Enterprise'a dahil olduğunu söylüyor. Sınırlar plana göre değişir ve yerel CLI kullanımı kotayı bulut sohbetleriyle paylaşır. API anahtarı kullanımı ise bunun yerine API ücretleriyle faturalandırılır.
- Bellek. CLI derlenmiş bir ikili dosyadır ve kendisi az bellek ister. RAM'i kullanan, projenizin derlemeleri ve test çalıştırmalarıdır. Hafif işler için 2 GB işe yarar, 4 GB rahattır. Boyutlandırma ve güncel fiyatlar için VPS satın alma rehberine bakın.
- Root olmayan bir kullanıcı. Herhangi bir şey kurmadan önce bir tane oluşturun (
adduser dev, ardından SSH anahtarınızı kopyalayın). Claude Code VPS rehberimiz bunu ve SSH sağlamlaştırmayı adım adım anlatıyor; adımlar Codex için de aynı.
Codex'i kurun
Bağımsız yükleyici Node.js gerektirmez:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --version
Araçları zaten npm ile yönetiyorsanız bu, aynı CLI'ı kurar:
npm install -g @openai/codex
Kapsama dikkat edin: paket @openai/codex'tir. npm'deki kapsamsız codex paketi ilgisizdir. sudo ile değil, normal kullanıcınızla kurun. İki yöntem de openai/codex README'sinde listeleniyor.
Linux sandbox önkoşulu
Linux'ta Codex, ürettiği kabuk komutlarını bwrap (bubblewrap) ve seccomp üzerine kurulu bir sandbox içinde çalıştırır. OpenAI'ın sandbox belgeleri önce bubblewrap kurmanızı söylüyor:
sudo apt install bubblewrap # Debian / Ubuntu
sudo dnf install bubblewrap # Fedora
bwrap olmadan Codex paketlenmiş bir yardımcıya geri döner ve bu yardımcı ayrıcalıksız kullanıcı ad alanlarına ihtiyaç duyar. Ubuntu 24.04 bunları AppArmor üzerinden kısıtlar. Belgelenmiş çözüm ek bir profil yükler:
sudo apt install apparmor-profiles apparmor-utils
sudo install -m 0644 /usr/share/apparmor/extra-profiles/bwrap-userns-restrict /etc/apparmor.d/bwrap-userns-restrict
sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrict
Belgeler ayrıca kısıtlamayı tüm makine için kapatan daha kaba bir alternatif de veriyor: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0. Profili tercih edin. Sandbox içindeki her komutun bir ad alanı hatasıyla başarısız olduğunu görüyorsanız nedeni bu bölümdür.
Cihaz koduyla giriş yapın
Bir sunucuda düz codex login çalıştırın; askıda kalmış gibi görünür. Nedeni şu: 1455 numaralı portta yerel bir geri çağrı sunucusu başlatır ve tarayıcınızın localhost'a yönlendirilmesini bekler. Bu sunucunun localhost'udur ve telefonunuz veya dizüstünüz ona ulaşamaz. Bunun yerine cihaz koduyla girişi kullanın. Neredeyse herkesi yakalayan bir önkoşulu var:
- Cihaz koduyla girişi açın. Kişisel hesapta bunu ChatGPT güvenlik ayarlarınızda yapın. Bir Business, Edu veya Enterprise çalışma alanında bir yönetici onu çalışma alanı izinlerinden etkinleştirir. Açık olana kadar cihaz akışı hesabınız için çalışmaz.
- Akışı sunucuda başlatın:
codex login --device-auth - Herhangi bir cihazda tamamlayın. Codex bir bağlantı ve tek kullanımlık bir kod yazdırır. Bağlantıyı telefonunuzda veya dizüstünüzde açın, ChatGPT'de oturum açın ve kodu girin.
- Çalıştığını kontrol edin:
Bu, etkin kimlik doğrulama modunu yazdırır ve oturum açıkken 0 ile çıkar; bu da onu betiklerde kullanışlı kılar.codex login status
Bu, OpenAI'ın kimlik doğrulama belgelerinden. Cihaz kodu mevcut olmadığında iki yedek yol veriyorlar:
- Geri çağrı portunu yönlendirin.
ssh -L 1455:localhost:1455 user@your-serverile bağlanın, sunucudacodex loginçalıştırın ve yazdırılan adresi yerel tarayıcınızda açın. Yönlendirme o zaman tünel üzerinden geri gider. - Kimlik bilgisini kopyalayın. Tarayıcısı olan bir makinede oturum açın, ardından
scp ~/.codex/auth.json user@your-server:~/.codex/auth.json.
Bunun yerine bir API anahtarı kullanmak
printenv OPENAI_API_KEY | codex login --with-api-key
Anahtarı stdin üzerinden aktarmak onu kabuk geçmişinizden uzak tutar. Bir ChatGPT planından düşmek yerine API fiyatlarıyla token başına ödersiniz. Bu, kesin bir faturalandırma sınırı istediğiniz paylaşılan bir makineye veya CI makinesine uyar.
Codex varsayılan olarak kimlik bilgilerini ~/.codex/auth.json içinde önbelleğe alır. cli_auth_credentials_store ayarı onları işletim sisteminin anahtarlığına taşıyabilir (file, keyring, auto veya ephemeral). Kullanıcınız olarak kabuğu olan herkes ChatGPT planınızı kullanabilir. Bir ajan makinesinde başkalarına kabuk erişimi vermeyin.
Çalışır tutun
Etkileşimli bir codex oturumu, onu başlatan terminalle birlikte yaşar ve ölür. SSH bağlantısını kapatın, oturum biter. Bunu aşmanın üç yolu var.
tmux, klasik olan:
sudo apt install tmux
tmux new -A -s codex # create or re-attach
cd ~/src/my-app && codex
# detach: Ctrl-b then d; later: tmux attach -t codex
Oturum yine de biterse, codex resume --last o dizindeki en son konuşmayı sürdürür, codex resume ise bir seçici açar. tmux, mosh ve Tailscale rehberimizde telefon dostu bir tmux yapılandırması var.
Etkileşimsiz çalıştırmalar. codex exec "…" TUI olmadan tek bir görev çalıştırır ve codex exec resume --last ona devam eder. Bu cron işlerine ve CI'ya uyar, ancak orada onay isteklerini yanıtlayacak kimse yoktur; bu yüzden aşağıdaki sandbox ayarları daha önemli hale gelir.
Oturumların sahibi olan ve yeniden başlatmalardan sağ çıkan bir daemon. 7/24 rehberinin karşılaştırdığı şey bu: systemd birimleri, Remote Control sunucuları ve makinede kendi süreçlerini çalıştıran Maude gibi uygulamalar.
Onaylar ve sandbox
Codex'in iki ayrı denetimi var: komutların neye dokunabileceği (sandbox) ve size sormak için ne zaman durduğu (onay politikası). Aşağıdaki değerler OpenAI'ın onaylar ve güvenlik belgelerinden ve CLI başvurusundan alındı:
| Ayar | Değerler | Bir sunucuda anlamı |
|---|---|---|
--sandbox / -s | read-only, workspace-write, danger-full-access | Bir git deposunda varsayılan workspace-write'tır. Düzenlemeler projenin içinde kalır ve siz etkinleştirmedikçe ağ erişimi kapalıdır. |
--ask-for-approval / -a | on-request, never | on-request, bir eylem sandbox'ın izin verdiğinden fazlasını gerektirdiğinde sorar. never hiç sormaz. config.toml içinde approval_policy ayrıca granular değerini kabul eder; eski untrusted değeri kullanımdan kaldırıldı. |
--yolo | (--dangerously-bypass-approvals-and-sandbox takma adı) | Sandbox yok ve istek yok. OpenAI onu zaten dışarıdan sağlamlaştırılmış ortamlara ayırıyor. |
--full-auto eski rehberlerde hâlâ görünüyor. Artık kullanımdan kaldırılmış bir uyumluluk bayrağıdır ve başvuru, bunun yerine --sandbox workspace-write kullanmayı söylüyor. Sandbox içindeki komutların ağa ulaşmasına izin vermek için, örneğin npm install çalışsın diye, bunu ~/.codex/config.toml dosyasına ekleyin:
sandbox_mode = "workspace-write"
approval_policy = "on-request"
[sandbox_workspace_write]
network_access = true
Container'larla ilgili bir not: "VPS"iniz aslında ad alanı işlemlerini engelleyen bir Docker veya LXC container'ıysa, belgeler --sandbox danger-full-access öneriyor. Bunu yalnızca container'ın kendisi sizin sandbox'ınızsa yapın. Ödünleşimler, ajanları tam izinlerle güvenle çalıştırma yazısında anlatılan Claude'un bypass moduyla aynı.
Telefon erişim seçenekleri
| Seçenek | Bir Linux VPS ile çalışır mı? | İyi olduğu konu | Dikkat edilecekler |
|---|---|---|---|
| Codex Remote (ChatGPT uygulaması) | Resmi olarak hayır. Ana bilgisayarların macOS veya Windows'ta ChatGPT masaüstü uygulamasını çalıştırması gerekir; bu uygulama VPS'inizdeki SSH projelerine ulaşabilir. | Resmi, planınızla ücretsiz, yerel arayüz | Ana bilgisayarın uyanık ve çevrimiçi kalması gerekir |
| SSH uygulaması + tmux | Evet | Ücretsiz, sunucuda ek bir şey yok | Telefon klavyesinde tam ekran bir TUI, bildirim yok |
| Maude | Evet (SSH üzerinden herhangi bir Linux veya macOS) | Yerel sohbet arayüzü, satır içi onaylar, bildirimler, ayrıca Claude Code ve diğerleri | Ücretli uygulama; kendi ChatGPT planınıza veya anahtarınıza yine ihtiyacınız var |
Headless Linux ve Codex Remote hakkında bir söz. CLI başvurusu, yerel app-server için codex remote-control start ve codex remote-control pair komutlarını belgeliyor. Ancak Remote connections rehberi hâlâ ana bilgisayarların macOS veya Windows'ta masaüstü uygulamasını çalıştırdığını söylüyor. Kullanıcılar bu boşluk hakkında kayıtlar açtı: #31183, headless Linux ana bilgisayarların güncel mobil istemcilerden yeniden eşleştirilemediğini bildiriyor; #35928 ise çelişkiye işaret ediyor. Kontrol ettiğimizde ikisi de açıktı. O yol sizin için çalışıyorsa resmi yol odur. Sadece henüz bir iş akışını onun üzerine kurmayın.
Maude ile telefonunuzdan çalıştırın
Maude, o VPS'i TUI olmadan bir telefondan yönetmenin yollarından biri. Sunucuyu adresiyle veya yapıştırılmış bir ssh komutuyla eklersiniz ve uygulama kendi küçük daemon'ını SSH üzerinden kurar. Bu daemon Codex'i test edilmiş, sabitlenmiş, checksum ile doğrulanmış bir sürümde kurar; böylece kurulum adımını atlarsınız. Codex'te telefondan ChatGPT cihaz koduyla veya bir API anahtarıyla oturum açarsınız. Cihaz koduyla girişi önce ChatGPT'de açmanız yine gerekir. Uygulama kapalıyken oturumlar sunucuda çalışmaya devam eder, onay istekleri bir gelen kutusunda ve İzin ver/Reddet içeren anlık bildirimler olarak görünür ve aynı sunucu Codex'in yanında Claude Code, OpenCode, Grok Build ve Antigravity'yi de çalıştırabilir. Ayrıntılar Codex ajan sayfasında.
Sıkça sorulan sorular
codex login sunucumda neden askıda kalıyor?
codex login, localhost:1455 üzerinde bir geri çağrı sunucusu başlatır ve başka bir cihazdaki tarayıcının VPS'inize ulaştıramayacağı bir tarayıcı yönlendirmesini bekler. ChatGPT güvenlik ayarlarınızda cihaz koduyla girişi etkinleştirdikten sonra codex login --device-auth kullanın. Alternatif olarak portu ssh -L 1455:localhost:1455 ile yönlendirin.Codex çalıştırmak için Node.js'e ihtiyacım var mı?
curl -fsSL https://chatgpt.com/codex/install.sh | sh) ve sürüm ikili dosyaları Node gerektirmez. Node'a yalnızca npm yolunu, yani npm install -g @openai/codex komutunu seçerseniz ihtiyacınız olur.ChatGPT planım yerine bir API anahtarı kullanabilir miyim?
printenv OPENAI_API_KEY | codex login --with-api-key. Kullanım o zaman bir ChatGPT planının kotasından düşmek yerine OpenAI API ücretleriyle faturalandırılır.Codex Remote VPS'imi görüyor mu?
codex remote-control) belgelenmiş, ancak açık GitHub kayıtları headless Linux ana bilgisayarları eşleştirmede sorunlar bildiriyor; ona güvenmeden önce güncel belgelere bakın.Bir VPS'te hangi sandbox modunu kullanmalıyım?
on-request onaylarıyla workspace-write ile başlayın ve derlemelerinizin paket indirmesi gerekiyorsa network_access'i etkinleştirin. --yolo'yu atılabilir makinelere veya yalıtımına güvendiğiniz container'lara saklayın.Neler değişti
- — İlk yayın. Kurulum, kimlik doğrulama, sandbox ve Remote ayrıntıları bu tarihte OpenAI'ın belgeleri ve openai/codex README'si ile karşılaştırılarak kontrol edildi.