VPS పై OpenCode ను ఎలా ఇన్స్టాల్ చేయాలి
OpenCode ను VPS పై అన్ప్రివిలేజ్డ్ యూజర్ గా ఇన్స్టాల్ చేసి, tmux లో రన్ చేయడం ఎలా? API కీ సురక్షితంగా ఉంచడం, సెషన్ కొనసాగింపు సెటప్ దశలు ఈ గైడ్ లో వివరంగా ఉన్నాయి.
OpenCode అంటే ఏమిటి, మరియు మీరు ఏమి సెటప్ చేస్తున్నారు
OpenCode అనేది టెర్మినల్ కోసం రూపొందించబడిన ఓపెన్ సోర్స్ AI కోడింగ్ ఏజెంట్. మీరు దీన్ని ఒక ప్రాజెక్ట్ డైరెక్టరీలో ప్రారంభిస్తారు. అది మీ కోడ్ను చదువుతుంది, మార్పులను ప్రతిపాదిస్తుంది, ఫైళ్లను సవరిస్తుంది, కమాండ్లను అమలు చేస్తుంది. ఇవన్నీ టెర్మినల్ యూజర్ ఇంటర్ఫేస్ (TUI) ద్వారా జరుగుతాయి. ఇది MIT లైసెన్స్ కింద ఉంది. ఇది 75 కి పైగా మోడల్ ప్రొవైడర్లతో అనుసంధానిస్తుంది. 2026 మధ్య నాటికి దీనికి దాదాపు 165,000 GitHub స్టార్లు ఉన్నాయి. అందువల్ల ఇది అత్యధిక స్టార్లు ఉన్న ఓపెన్ సోర్స్ కోడింగ్ ఏజెంట్. VPSపై OpenCode ను అమలు చేయడానికి, మీరు దీన్ని ఒక ప్రత్యేక అన్ప్రివిలేజ్డ్ యూజర్ కింద ఇన్స్టాల్ చేస్తారు. మీ మోడల్ API కీ ను ఒక ప్రైవేట్ ఫైల్లో ఉంచుతారు. మీ కనెక్షన్ డ్రాప్ అయినప్పుడు సెషన్ కొనసాగేలా దీన్ని tmux లో ప్రారంభిస్తారు. ఈ గైడ్ సరిగ్గా అదే చేస్తుంది, ఆ క్రమంలో.
ఒక నేమింగ్ గమనిక గందరగోళాన్ని నివారిస్తుంది. కేనోనికల్ రిపాజిటరీ anomalyco/opencode. దీన్ని Anomaly టీమ్ (ముందు SST గా పిలువబడేది) నిర్వహిస్తుంది. ఈ ప్రాజెక్ట్ ముందు sst/opencode వద్ద ఉండేది. GitHub లో opencode-ai/opencode అనే పేరుతో ఒక పాత, సంబంధం లేని రిపాజిటరీ కూడా ఉంది. కాబట్టి మీరు సరైన ప్రాజెక్ట్ డాక్స్ చదువుతున్నారో కాదో తనిఖీ చేసుకోండి. అధికారిక సైట్ opencode.ai.
OpenCode ని VPS లో ఎందుకు నడపాలి
కోడింగ్ ఏజెంట్ సెషన్ ఎక్కువ సేపు నడుస్తుంది. OpenCode ఒక రిఫ్యాక్టర్ లేదా టెస్ట్ సూట్ను పూర్తి చేయడానికి చాలా నిమిషాలు గడుపుతుంది. ఇది మీ ల్యాప్టాప్లో నడిస్తే, లిడ్ మూసివేయడం లేదా Wi-Fi కనెక్షన్ తుండిపోవడం వల్ల సెషన్ మధ్యలోనే ఆగిపోతుంది. VPS లోని tmux లోపల, మీరు డిస్కనెక్ట్ అయ్యాక కూడా ఏజెంట్ పని చేయడం కొనసాగిస్తుంది. తర్వాత మీరు రీఅటాచ్ అయ్యి అది ఏమి చేసిందో చదవచ్చు. ఇది Claude Code ని tmux తో VPS లో నడపడం మాదిరిగానే ఉంటుంది. ఏజెంట్ను మీ ల్యాప్టాప్ నుండి తీసివేయడం వల్ల వచ్చే అతిపెద్ద ప్రయోజనం ఇదే.
రెండవ కారణం ప్లేస్మెంట్. VPS మీరు డిప్లాయ్ చేసే కోడ్కు దగ్గరగా ఉంటుంది. రిపోజిటరీ, బిల్డ్ టూల్స్, టెస్ట్ డేటాబేస్, తరచుగా స్టేజింగ్ ఎన్విరాన్మెంట్ కూడా అక్కడే లేదా దాని పక్కనే ఉంటాయి. కోడ్ను ఎడిట్ చేసి టెస్టులు రన్ చేసే ఏజెంట్, ఆ టెస్టులు నిజంగా రన్ అయ్యే మెషీన్లోనే బాగా పనిచేస్తుంది. ఆ బాక్స్ మీ నియంత్రణలో ఉన్న సర్వర్ కాబట్టి, మీరు ఏజెంట్కు ఉద్దేశపూర్వకంగా ఒక కంటైన్డ్ ఎన్విరాన్మెంట్ ఇవ్వగలరు. దీన్ని తదుపరి సెక్షన్ చేస్తుంది.
మీరు ఇంకా టూల్ ఎంచుకుంటున్నారంటే, VPS లో కోడింగ్ AI ఏజెంట్ను నడపడం Aider మరియు Goose తో సహా విస్తృత రంగాన్ని సరిపోలుస్తుంది.
OpenCodeకు దాని స్వంత వినియోగదారుని ఇవ్వండి
నిజాయితీ మొదలు ఇది: ఒక కోడింగ్ ఏజెంట్ ఫైళ్లను సవరిస్తుంది, ఆదేశాలను నడుపుతుంది. అదే దాని పని. అదే ప్రమాదం కూడా. OpenCode బిల్డ్లు, టెస్టులు, మరియు పనికి అవసరమైన షెల్ ఆదేశాలను నడుపుతుంది. మోడల్ తీర్పు మంచిది కానీ సంపూర్ణం కాదు. ఏజెంట్ ఏ ఖాతాతో నడుస్తుందో, అదే ఒక చెడు ఆదేశం చేరగలిగే పరిమితి. కాబట్టి దాన్ని root వినియోగదారుగా నడపవద్దు. సర్వర్ను నిర్వహించే వినియోగదారు వలె కూడా నడపవద్దు.
బ్యాక్గ్రౌండ్ ఏజెంట్ వలె కాకుండా, OpenCode పరస్పర చర్యాశీలం. కాబట్టి దాని వినియోగదారునికి నిజమైన షెల్ మరియు హోమ్ డైరెక్టరీ అవసరం:
sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencodeమీరు ఏజెంట్తో పని చేయించాలనుకుంటున్న ప్రాజెక్ట్లను /home/opencode కింద ఉంచండి. ఆ వినియోగదారు ద్వారా క్లోన్ చేయండి. ఆ ఖాతాకు sudo హక్కులు ఇవ్వవద్దు. ఏజెంట్ ఒక విధ్వంసక ఆదేశాన్ని నడిపితే, అది ఆ ఒక్క ఖాతాకు మాత్రమే సొంతమైన వాటిని మాత్రమే నాశనం చేయగలదు. ఇది సేవలను అధికారం లేని వినియోగదారుగా నడపడం అనే తర్కానికి సమానం. ఒక git రిపోజిటరీ లోపల పని చేయండి. ఎందుకంటే ఒక రిపోజిటరీ ఏదైనా చెడు మార్పును నష్టం కాకుండా git revert గా మారుస్తుంది.
OpenCode నిర్మాణం
ఈ ప్రాజెక్టు రెండు నిర్మాణ పద్ధతులను పేర్కొంటుంది. స్క్రిప్ట్ ద్వారా నిర్మాణం అత్యంత వేగవంతమైనది. దానిని opencode వినియోగదారుగా నడిపితే ప్రతిదీ ఆ వినియోగదారు హోమ్ డైరెక్టరీలోనే ఉంటుంది:
curl -fsSL https://opencode.ai/install | bashఇక్కడ కూడా అన్నిచోట్లలాగే సాధారణ curl | bash పద్ధతి వర్తిస్తుంది: మీకు ముఖ్యమైన సర్వర్లో, ముందుగా స్క్రిప్ట్ను డౌన్లోడ్ చేయండి, చదవండి, తర్వాత నడపండి. నిర్మాణం తర్వాత, ఇన్స్టాలర్ చేసే PATH మార్పు అమల్లోకి రావడానికి కొత్త షెల్ ప్రారంభించండి, తర్వాత బైనరీ స్పందిస్తుందో లేదో తనిఖీ చేయండి:
opencode --versionమీకు ప్యాకేజ్ మేనేజర్ అవసరం అయితే మరియు సిస్టమ్లో ఇప్పటికే Node.js ఉంటే, npm మార్గం అదే సాధనాన్ని సిస్టమ్-వైడ్గా నిర్మిస్తుంది. దీని వలన ప్రతి వినియోగదారుకు PATHలో opencode బైనరీ లభిస్తుంది:
sudo npm install -g opencode-aiఏ మార్గం తీసుకున్నా తనిఖీ ఒకటే: opencode --version వర్షన్ సంఖ్యను ముద్రిస్తుంది. స్క్రిప్ట్ నిర్మాణం తర్వాత command not found వస్తే అంటే ప్రస్తుత షెల్ ఇంకా నవీకరించబడిన PATHను చదవలేదు. కాబట్టి opencode వినియోగదారుగా లాగ్ అవుట్ చేసి మళ్లీ లాగ్ ఇన్ అవ్వండి.
API కీని ఒక ప్రైవేట్ ఫైల్లో ఉంచండి
OpenCodeకు మీరు ఉపయోగించే మోడల్ ప్రొవైడర్ కోసం ఒక కీ అవసరం. ఆ కీ మీ డబ్బును ఖర్చు చేయగలదు, కాబట్టి దాన్ని పాస్వర్డ్లా పరిగణించండి. opencode యూజర్ మాత్రమే చదివేలా 600 మోడ్తో ఒక ఫైల్ను సృష్టించండి. కీని కమాండ్లలో టైప్ చేయకుండా ఆ ఫైల్లో ఉంచండి. లేదంటే అది మీ షెల్ హిస్టరీలో నిలిచిపోతుంది:
install -m 600 /dev/null ~/opencode.env
nano ~/opencode.envఅందులో మీ ప్రొవైడర్ వేరియబుల్ను ఉంచండి. ఉదాహరణకు ANTHROPIC_API_KEY=... లేదా మీ ప్రొవైడర్కు సరిపోయేది. OpenCode ప్రామాణిక ప్రొవైడర్ ఎన్విరాన్మెంట్ వేరియబుల్లను స్వయంచాలకంగా తీసుకుంటుంది. మీరు ఏజెంట్ను ప్రారంభించడానికి ముందు ఆ ఫైల్ను మీ షెల్లోకి లోడ్ చేయండి:
set -a; source ~/opencode.env; set +aOpenCodeకు ఒక ఇంటరాక్టివ్ ప్రత్యామ్నాయం కూడా ఉంది: TUI లోని /connect కమాండ్ మీకు ఒక ప్రొవైడర్ను జోడించడంలో సహాయపడుతుంది. ఆ క్రెడెన్షియల్ను యూజర్ హోమ్లోని ~/.local/share/opencode/auth.json కి సేవ్ చేస్తుంది. మీరు ఆ మార్గాన్ని ఉపయోగిస్తే, chmod 600 ~/.local/share/opencode/auth.json తో ఆ ఫైల్ ప్రైవేట్గా ఉందో లేదో నిర్ధారించుకోండి. రెండు పద్ధతులూ కీని మీ కమాండ్ లైన్ల నుండి దూరంగా ఉంచుతాయి. వాటిలో ఒకదాన్ని ఎంచుకుని దానికే కట్టుబడి ఉండండి.
tmux లోపల OpenCode ను ప్రారంభించండి
tmux వల్ల VPS సెటప్ విలువైనది అవుతుంది, ఎందుకంటే మీ SSH కనెక్షన్ ముగిసినా ఒక tmux సెషన్ నడుస్తూనే ఉంటుంది. దాన్ని ప్రారంభించండి, మీ ప్రాజెక్ట్ లోకి వెళ్ళండి, ఏజెంట్ ను లాంచ్ చేయండి:
tmux new -s opencode
cd ~/my-project
opencodeదిగువన ఒక ప్రాంప్ట్ తో పాటు ఇంటర్ఫేస్ లో మీ ప్రాజెక్ట్ పేరుతో TUI తెరుచుకుంటుంది. సాధారణ భాషలో దానికి ఒక పని ఇవ్వండి, అప్పుడు అది ఫైళ్లను చదవడం ప్రారంభిస్తుంది, మార్పులను ప్రతిపాదిస్తుంది. మీరు నిష్క్రమించాలనుకున్నప్పుడు, Ctrl-b తర్వాత d తో డిటాచ్ చేయండి, మీ ల్యాప్టాప్ మూసివేసినా ఏజెంట్ పని చేస్తూనే ఉంటుంది. తర్వాత దీనితో తిరిగి అటాచ్ అవ్వండి:
tmux attach -t opencodeసెషన్, సంభాషణ, మరియు నడుస్తున్న ఏ పని అయినా మీరు వదిలిన చోటే ఉంటాయి. ఇది మీ డిస్కనెక్షన్లను తట్టుకుంటుంది, కానీ సర్వర్ రీబూట్ ను కాదు, కాబట్టి రీబూట్ తర్వాత మీరు అదే విధంగా కొత్త tmux సెషన్ ను ప్రారంభిస్తారు.
మోడల్ను ఎంచుకోండి
OpenCode ప్రొవైడర్-అగ్నోస్టిక్. ఇది AI SDK మరియు Models.dev క్యాటలాగ్ను ఉపయోగించి 75 కంటే ఎక్కువ ప్రొవైడర్లను సపోర్ట్ చేస్తుంది. కాబట్టి అదే టూల్ Anthropic, OpenAI, Google మరియు లోకల్ సర్వర్లతో సహా డజన్ల కొద్దీ ఇతర సర్వీసులతో పనిచేస్తుంది. త్వరిత మార్గం TUI లోపల ఉన్న /connect కమాండ్. ఇది ప్రొవైడర్లను జాబితా చేస్తుంది మరియు క్రెడెన్షియల్ను నిర్వహిస్తుంది. మీరు కమిట్ చేసి పునరుత్పాదించగలిగే సెటప్ కోసం, ప్రాజెక్ట్ రూట్లో ఒక opencode.json ఫైల్ను ఉంచండి మరియు మోడల్ను provider/model-id గా సెట్ చేయండి:
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}లోకల్ మోడల్ కూడా అదే ఫైల్ ద్వారా పనిచేస్తుంది. ఎందుకంటే ఏదైనా OpenAI-కంపాటిబుల్ సర్వర్ను ప్రొవైడర్గా ప్రకటించవచ్చు. మీరు అదే VPS లో Ollama తో ఒక మోడల్ను అందిస్తే, కాన్ఫిగ్ దాని లోకల్ API ని సూచిస్తుంది. మరియు మోడల్ పేరు మీ సిస్టమ్లో ollama list ఏమి చూపిస్తో అదే అవుతుంది:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": { "baseURL": "http://127.0.0.1:11434/v1" },
"models": { "your-model-name": { "name": "Local coding model" } }
}
}
}మొదటి రోజు నుండే స్వీకరించడానికి విలువైన ఒక అంతర్గత అలవాటు ఉంది. OpenCode రెండు ఏజెంట్లను అందిస్తుంది. మీరు Tab కీ తో వాటి మధ్య మారతారు: Build, పూర్తి యాక్సెస్ ఉన్న డిఫాల్ట్ ఏజెంట్, మరియు Plan, మార్పులు చేయగలిగే సామర్థ్యాన్ని నిలిపివేసే ఏజెంట్. Plan లో కొత్త టాస్క్ను ప్రారంభించండి. అది కోడ్ను చదవడానికి మరియు ఒక పద్ధతిని ప్రతిపాదించడానికి అనుమతించండి. మీరు ప్లాన్తో ఏకీభవించినప్పుడు మాత్రమే Build కి మారండి. సర్వర్లో, రీడ్-ఓన్లీ మొదటి పాస్ ఒక చౌకమైన భద్రత.
ప్రభావ పరిధి, స్పష్టంగా
కోడింగ్ ఏజెంట్ నిష్క్రియాత్మకం కాదు, కాబట్టి ఈ సెటప్ ఏమి కలిగి ఉందో, ఏమి లేదో స్పష్టంగా చెప్పండి. ఇది ఫైల్ నష్టాన్ని కలిగి ఉంటుంది: opencode వినియోగదారుడు తన స్వంత హోమ్ను మాత్రమే కలిగి ఉంటారు, మరేమీ కాదు, కాబట్టి సవరణలు మరియు తొలగింపులు ఆ హద్దు వద్దే ఆగిపోతాయి. ఇది ఆధారాల బహిర్గతాన్ని కలిగి ఉంటుంది: కీ ఒక ఫైల్లో mode 600తో, ఒక ఖాతాలో ఉంటుంది. ఖాతా చట్టబద్ధంగా ఏమి చేయగలదో అది దీనిలో లేదు, కాబట్టి ప్రాజెక్ట్ డైరెక్టరీ ప్రొడక్షన్ డిప్లాయ్ ఆధారాలను కలిగి ఉంటే, ఏజెంట్ వాటిని ఉపయోగించగలదు; వాటిని ఏజెంట్ ఖాతా నుండి పూర్తిగా బయట పెట్టండి.
OpenClaw వంటి గేట్వే ఏజెంట్కు భిన్నంగా, OpenCode అనేది ఒక పరస్పర చర్య టెర్మినల్ ప్రోగ్రామ్, డెమోన్ కాదు. ఇది ఎలాంటి లిజనింగ్ పోర్ట్ను తెరవదు మరియు ఎలాంటి సుదీర్ఘకాలిక సేవను కలిగి ఉండదు, కాబట్టి వ్రాయడానికి ఎలాంటి systemd యూనిట్ లేదు మరియు ఏజెంట్ కోసం ఫైర్వాల్ చేయడానికి పోర్ట్ లేదు. కంటైన్మెంట్ అనేది వినియోగదారు ఖాతా మరియు ప్రాజెక్ట్ డైరెక్టరీ, ఇదే కారణంగా ఈ గైడ్లోని మొదటి విభాగం అత్యంత ముఖ్యమైనది.
దాని చుట్టూ ఉన్న పెట్టెకు ఇప్పటికీ ప్రామాణిక జాగ్రత్త అవసరం, ఎందుకంటే కోడింగ్ VPS అనేది ఇప్పటికీ ఒక పబ్లిక్ సర్వర్: రూట్ లాగిన్ నిలిపివేయబడిన కీ-ఆన్లీ SSH, VPSలో SSH హార్డెనింగ్లో వివరించినట్లు, డిఫాల్ట్-డినై ఫైర్వాల్, మరియు క్రమానుగత నవీకరణలు. మరియు ఏజెంట్ ఉత్పత్తి చేసే దానిని సమీక్షించండి. మీరు వాటిని పుష్ చేయడానికి ముందు దాని డిఫ్లను చదవండి, కొత్త కంట్రిబ్యూటర్ నుండి వచ్చిన పుల్ రిక్వెస్ట్ను చదివే అదే విధంగా, ఎందుకంటే ఫలితాన్ని డిప్లాయ్ చేసేది మీరే.
చివరగా, టూల్ను ప్రస్తుతంగా ఉంచండి. OpenCode తరచుగా విడుదలలను చేస్తుంది, మరియు నవీకరణలు మీ సర్వర్లో కమాండ్లను అమలు చేసే ప్రోగ్రామ్కు ముఖ్యమైన స్థిరీకరణలను కలిగి ఉంటాయి. నవీకరణ మీరు ఇన్స్టాల్ చేసిన అదే మార్గాన్ని ఉపయోగిస్తుంది: opencode వినియోగదారుడిగా ఇన్స్టాల్ స్క్రిప్ట్ను మళ్లీ అమలు చేయండి, లేదా మీరు npm ద్వారా ఇన్స్టాల్ చేసినట్లయితే sudo npm update -g opencode-ai అమలు చేయండి, తర్వాత opencode --versionతో కొత్త వెర్షన్ను నిర్ధారించండి. అప్పుడప్పుడు ఒక నిమిషం నిర్వహణ చేయడం అనేది నెలల పాతన బిల్డ్ ఇప్పటికే స్థిరీకరించిన ప్రవర్తనను డీబగ్ చేయడం కంటే తక్కువ ఖర్చుతో కూడుకున్నది.
FAQ
చెల్లింపు API బదులుగా OpenCode ఒక స్థానిక మోడల్ను ఉపయోగించగలదా?
అవును. OpenCode ఏ OpenAI-అనుగుణ్య సర్వర్నైనా ఒక ప్రొవైడర్గా పరిగణిస్తుంది. కాబట్టి అదే VPSలో Ollama అందించే మోడల్ పనిచేస్తుంది. దీని కోసం opencode.jsonలో స్థానిక baseURL మరియు Ollama నివేదించే మోడల్ పేరుతో ఆ ప్రొవైడర్ను ప్రకటించండి. ఇక్కడ సవాలు హార్డ్వేర్. వాస్తవ కోడింగ్ పనికి అర్హమైన మోడల్కు గణనీయమైన మెమరీ అవసరం. కాబట్టి మోడల్ను డౌన్లోడ్ చేయడానికి ముందు సర్వర్ను మోడల్ ప్రకారం పరిమాణంలో సర్దుబాటు చేయండి.
నా ల్యాప్టాప్ను మూసిన తర్వాత OpenCode నడుస్తూనే ఉండేలా ఎలా చేయాలి?
దాన్ని VPSలో tmux లోపల నడపండి. tmux new -s opencodeతో పేరున్న సెషన్లో ఏజెంట్ను ప్రారంభించండి. Ctrl-b తర్వాత dతో డిటాచ్ చేయండి. మీ SSH కనెక్షన్ ముగిసిన తర్వాత కూడా సెషన్ సర్వర్లో నడుస్తూనే ఉంటుంది. ఏ సమయంలోనైనా tmux attach -t opencodeతో తిరిగి అటాచ్ చేయండి. సంభాషణ మరియు నడుస్తున్న టాస్క్ అక్కడే ఉంటాయి. సర్వర్ రీబూట్ అయితే సెషన్ ముగుస్తుంది. కాబట్టి రీబూట్ తర్వాత కొత్త సెషన్ను ప్రారంభించండి.
నా VPSలో OpenCode కమాండ్లను నడపడానికి అనుమతించడం సురక్షితమేనా?
దాన్ని నియంత్రించగలిగితే సురక్షితమే. OpenCodeకి sudo లేని ఒక ప్రత్యేక అన్ప్రివిలేజ్డ్ యూజర్ను ఇవ్వండి. దాని ప్రాజెక్ట్లను gitలో ఉంచండి తద్వారా ప్రతి మార్పు రద్దు చేయగలిగేలా ఉంటుంది. API కీను 600 మోడ్తో ఒక ఫైల్లో నిల్వ చేయండి. దాని Build ఏజెంట్ ఏదైనా మార్చడానికి ముందు, దాని Plan ఏజెంట్తో రీడ్-ఓన్లీగా మొదట పరిశీలించండి. అప్పుడు ఏజెంట్ తన ఖాతాకు సొంతమైనవాటిని మాత్రమే పాడు చేయగలదు. సర్వర్లోని మిగతా భాగాలు దాని చేతిలోకి రావు.
OpenCode మరియు Claude Code మధ్య తేడా ఏమిటి?
OpenCode ఓపెన్ సోర్స్ (MIT) మరియు ప్రొవైడర్ అగ్నోస్టిక్. ఇది ఒకే ఇంటర్ఫేస్ ద్వారా స్థానిక ప్రొవైడర్లతో సహా 75 కంటే ఎక్కువ మోడల్ ప్రొవైడర్లకు కనెక్ట్ అవుతుంది. Claude Code అనేది Anthropic యొక్క స్వంత టెర్మినల్ ఏజెంట్. ఇది Anthropic మోడళ్ల చుట్టూ రూపొందించబడింది. మీకు అనేక ప్రొవైడర్లలో ఒకే టూల్ కావాలంటే లేదా స్థానిక మోడల్తో పూర్తిగా సెల్ఫ్-హోస్టెడ్ స్టాక్ కావాలంటే, OpenCode సరిపోతుంది. రెండూ VPSలో tmux లోపల ఒకే అన్ప్రివిలేజ్డ్-యూజర్ సెటప్తో బాగా నడుస్తాయి.