தொலைபேசியில் Claude Code பயன்படுத்துவது எப்படி?
Claude Code-ஐ VPS மற்றும் tmux மூலம் உங்கள் மொபைலில் இயக்குவது எப்படி என்பதை அறிக. Mosh மற்றும் SSH keys பயன்படுத்தி, இணைய இணைப்பு துண்டிக்கப்படாமல் வேலை செய்வதற்கான வழிமுறை.
உங்கள் தொலைபேசியிலிருந்து Claude Code: இது எவ்வாறு செயல்படுகிறது
உங்கள் தொலைபேசியிலிருந்து இயங்கும் Claude Code என்பது ஒரு mobile app அல்ல. Claude Code ஒரு VPS-ல் (virtual private server), தொடர்ந்து இயங்கிக்கொண்டிருக்கும் ஒரு tmux session-க்குள் இயங்குகிறது. நீங்கள் அந்தத் திரையைப் பார்க்கும் வரை, உங்கள் தொலைபேசி அந்த session-க்கு ஒரு SSH (secure shell) இணைப்பை ஏற்படுத்துகிறது. நீங்கள் app-ஐ மூடினாலும், அந்த agent தொடர்ந்து வேலை செய்யும்; ஏனெனில் அந்த process உங்கள் தொலைபேசியில் இயங்கவில்லை.
இந்தத் தனிப்பிரிப்புதான் இதன் முழு வடிவமைப்பும் ஆகும். ஒரு தொலைபேசியின் operating system, நீங்கள் app-ஐ விட்டு வெளியேறிய சில நொடிகளிலேயே அதை நிறுத்திவிடும் (suspend), எனவே தொலைபேசியில் தொடங்கும் எந்தவொரு நீண்ட கால வேலையும் நின்றுவிடும். மேலும், நீங்கள் wifi-லிருந்து mobile data-க்கு மாறும்போது ஒவ்வொரு முறையும் புதிய network address கிடைக்கும். இந்த இரண்டு சிக்கல்களும், process ஒரு server-ல் இயங்கி, தொலைபேசி திரையை மட்டும் காண்பிக்கும்போது நீங்கிவிடுகின்றன.
server-ல் உங்களுக்கு நான்கு விஷயங்கள் தேவை: session-ஐத் தக்கவைக்க tmux, உள்ளே நுழைய SSH keys, network மாற்றங்களைச் சமாளிக்க mosh, மற்றும் Claude Code. தொலைபேசிப் பக்கத்தில், நீங்கள் எளிதாக அணுகக்கூடிய key row வசதி கொண்ட ஒரு terminal app மட்டும் இருந்தால் போதும்.
VPS-ல் உங்களுக்குத் தேவையானவை
SSH மற்றும் tmux பயன்பாடுகளுக்கு ஒரு சிறிய Ubuntu 24.04 server போதுமானது. ஆனால் Claude Code-க்கு கூடுதல் வசதிகள் தேவை. ஜூலை 2026 நிலவரப்படி, அதிகாரப்பூர்வத் தேவைகள்: Ubuntu 20.04 அல்லது அதற்குப் பிந்தைய பதிப்பு, x64 அல்லது ARM64 processor, மற்றும் 4 GB அல்லது அதற்கு மேற்பட்ட RAM. 1 GB RAM கொண்ட திட்டத்தில் இதை நிறுவ முடியும், ஆனால் சுமை அதிகரிக்கும்போது kernel அந்த process-ஐ நிறுத்திவிடும். Claude Code-க்கு கட்டணத்துடன் கூடிய Claude account (Pro, Max, Team அல்லது Enterprise) அல்லது API access கொண்ட Console account அவசியம்; ஏனெனில் இலவச Claude.ai திட்டத்தில் இது கிடைக்காது.
Server-ஐ root பயனராக அமைக்காமல், sudo வசதி கொண்ட சாதாரண பயனராக அமைக்கவும். Server புதியது என்றால், முதலில் புதிய VPS-ல் முதல் பத்து நிமிடங்கள் என்ற வழிகாட்டியைப் பின்பற்றி முடிக்கவும். ஏனெனில், பயனர் மற்றும் firewall அமைக்கப்பட்ட பிறகு, இந்த வழிகாட்டியில் உள்ள SSH மாற்றங்களைச் செய்வது எளிது.
sudo apt update && sudo apt install -y tmux mosh
curl -fsSL https://claude.ai/install.sh | bash
claude --versionInstaller, binary-ஐ ~/.local/bin/claude-ல் நிறுவுகிறது, மேலும் claude --version என்பது 2.1.211 (Claude Code) போன்ற ஒரு வரியை வெளியிடும். அது command not found என்று காட்டினால், அந்த directory இன்னும் உங்கள் PATH-ல் இல்லை என்று அர்த்தம்: log out செய்து மீண்டும் log in செய்யவும், பிறகு command -v claude மூலம் சரிபார்க்கவும். claude doctor என்பது session-ஐத் தொடங்காமலேயே நிறுவல் மற்றும் அமைப்புகளின் கண்டறியும் தகவல்களை (diagnostics) அச்சிடும்.
தொலைபேசியைச் சார்ந்திருப்பதற்கு முன்பாக, இப்போது ஒருமுறை laptop-லிருந்து log in செய்யவும். ஒரு project directory-ல் claude-ஐ இயக்கி, login prompt-ஐப் பின்பற்றவும். இந்தச் செயல்முறை ஒரு URL-ஐ browser-ல் திறந்து, அங்கிருந்து ஒரு code-ஐ terminal-க்குக் கொண்டு வரச் சொல்லும்; இதைத் தொலைபேசியின் திரையில் இரண்டு செயலிகளுக்கு இடையே மாறி மாறிச் செய்வது கடினம். கணினியின் விசைப்பலகையில் ஒருமுறை இதைச் செய்துவிட்டால், credentials server-லேயே தங்கிவிடும்.
tmux-க்குள் Claude Code-ஐத் தொடங்கவும், அப்போதுதான் இணைப்பு துண்டிக்கப்பட்டாலும் அது நின்றுவிடாது
tmux new -s claude
cd ~/projects/api
claudeCtrl-b மற்றும் அதைத் தொடர்ந்து d ஆகியவற்றை அழுத்தி detach செய்யவும். tmux [detached (from session claude)] என்று அச்சிட்டு, shell-ஐ உங்களிடம் மீண்டும் ஒப்படைக்கும். இப்போது நீங்கள் app-ஐ மூடலாம், சிக்னல் துண்டிக்கப்படலாம் அல்லது போனை பாக்கெட்டில் வைக்கலாம். அந்த pane தொடர்ந்து இயங்கிக்கொண்டே இருக்கும்.
tmux ls
tmux attach -t claudetmux ls ஒவ்வொரு session-க்கும் ஒரு வரியை அச்சிடும், உதாரணமாக claude: 1 windows (created Thu Jul 30 09:14:02 2026). tmux attach -t claude நீங்கள் பாதியில் விட்ட இடத்திற்கே, அதாவது முடிக்கப்படாத edit உட்பட, உங்களை மீண்டும் கொண்டு செல்லும்.
இது வேலை செய்வதற்கு காரணம், tmux தனக்கென ஒரு server process-ஐ இயக்குகிறது. உங்கள் shell மற்றும் Claude Code ஆகியவை sshd-ன் child process-கள் அல்ல, மாறாக அந்த server-ன் child process-கள் ஆகும். SSH இணைப்பு முடிவடையும் போது, அந்த இணைப்புடன் இணைக்கப்பட்டிருக்கும் process-களுக்கு kernel ஒரு hangup signal-ஐ (SIGHUP) அனுப்பும்; tmux server அந்தப் பட்டியலில் இருக்காது. tmux இல்லையென்றால், உங்கள் இணைப்பைத் துண்டிக்கும் அதே screen lock, Claude Code-ஐ ஒரு tool call-ன் பாதியிலேயே நிறுத்திவிடும். tmux-க்குள் VPS-ல் Claude Code-ஐ இயக்குவது குறித்த பகுதி session layout-ஐப் பற்றி விரிவாக விளக்குகிறது.
tmux-ஐ server-ல் மட்டுமே இயக்கவும், போனில் இயக்க வேண்டாம். ஏற்கனவே இணைக்கப்பட்டிருக்கும் ஒரு session-க்குள் tmux என்று தட்டச்சு செய்தால் sessions should be nested with care, unset $TMUX to force என்று அச்சிடப்படும். அதை வலுக்கட்டாயமாகச் செய்தால், இரண்டு prefix keys-களுக்கு இடையே மோதல் ஏற்படும்.
ஒவ்வொரு முறை login செய்யும்போதும் தானாகவே இணைக்கவும்
Touch keyboard-ல் ஒவ்வொரு முறையும் attach கட்டளையைத் தட்டச்சு செய்வது சிரமமானது. எனவே, server-ல் உள்ள ~/.profile கோப்பின் இறுதியில் இதைப் பதிவிடவும்:
if command -v tmux >/dev/null 2>&1 && [ -z "$TMUX" ] && [ -t 1 ]; then
exec tmux new-session -A -s claude
ficlaude என்ற பெயரில் session இருந்தால் new-session -A -s claude அதனுடன் இணையும், இல்லையெனில் புதிய session-ஐ உருவாக்கும். எனவே, ஒரே கட்டளை இரண்டு நிலைகளையும் கையாளும். exec உங்கள் login shell-க்கு பதிலாக tmux-ஐ இயக்கும்; இதனால் tmux-லிருந்து வெளியேறும்போது, வெறும் prompt-க்குச் செல்லாமல் உங்கள் connection துண்டிக்கப்படும். உங்களுக்கு சாதாரண shell தேவைப்பட்டால், இந்தக் கோப்பைத் தவிர்க்கவும்: ssh you@server -t "bash --noprofile".
இதை ~/.bashrc-ல் சேர்க்காமல், ~/.profile-ல் சேர்க்கவும். ~/.bashrc கோப்பு interactive அல்லாத session-களுக்கும் இயங்கும் என்பதால், file transfers பாதிக்கப்படும்: scp மற்றும் sftp ஆகியவை எதிர்பாராத வெளியீட்டை protocol தரவாகக் கருதி, Received message too long பிழையுடன் தோல்வியடையும். ~/.profile login shell-களுக்கு மட்டுமே இயங்கும், இதுவே ஒரு interactive SSH session-ன் தன்மையாகும்.
Ubuntu தனது ~/.local/bin-ஐ PATH-ல் சேர்க்கும் இடமும் ~/.profile தான். login செய்தவுடன் claude சரியாக வேலை செய்து, tmux-க்குள் இருக்கும் shell command not found என்று காட்டினால், அதற்கு வரிசைமுறைதான் காரணம். எனவே, profile-ஐத் தவிர்க்கும் script-க்கு பதிலாக, மேலே குறிப்பிட்டது போல login shell-லிருந்து tmux-ஐத் தொடங்கவும்.
iOS: Termius அல்லது Blink Shell
இந்த இரண்டு செயலிகளும் SSH மற்றும் mosh ஆகியவற்றை ஆதரிக்கின்றன, மேலும் இவை இரண்டிலும் keys செயலிலேயே சேமிக்கப்படும். இவற்றிற்கு இடையேயான வேறுபாடு பயனர் இடைமுகத்தில் (interface) உள்ளது.
Blink Shell கட்டளைகளை அடிப்படையாகக் கொண்டது. அதன் prompt-ல் நீங்கள் ssh you@server அல்லது mosh you@server என்று தட்டச்சு செய்ய வேண்டும், இது desktop terminal-ல் உள்ள அதே syntax ஆகும். config என்று தட்டச்சு செய்வதன் மூலம் அமைப்புகளைத் திறக்கலாம், மேலும் Keys பகுதியில் உங்களுக்காக ஒரு ஜோடி key உருவாக்கப்படும்.
Termius படிவங்களை (form) அடிப்படையாகக் கொண்டது. நீங்கள் ஒரு host entry-ஐ நிரப்ப வேண்டும், பின்னர் host விவரங்களில் அந்த host-ஐ SSH-லிருந்து Mosh-க்கு மாற்ற வேண்டும். Termius அதன் சொந்த mosh implementation-ஐக் கொண்டுள்ளது மற்றும் mosh 1.3.0 அல்லது அதற்குப் பிந்தைய பதிப்புகளை ஆதரிக்கிறது, எனவே server-ல் mosh package நிறுவப்பட்டிருக்க வேண்டும்.
இரண்டு நிகழ்வுகளிலும், key-ஐ செயலிக்குள்ளேயே உருவாக்குங்கள்; ஏற்கனவே உள்ள private key-ஐ ஒருபோதும் தொலைபேசிக்கு நகலெடுக்க வேண்டாம். செயலி உங்களுக்கு public key-ஐக் காட்டும், இதுவே நீங்கள் server-ல் உள்ள ~/.ssh/authorized_keys-ல் சேர்க்க வேண்டிய ஒற்றை வரியாகும். ஒவ்வொரு சாதனத்திற்கும் தனித்தனி SSH keys மற்றும் அவற்றை எவ்வாறு ரத்து செய்வது என்பது பெயரிடுதல் மற்றும் ரத்து செய்யும் முறையை விளக்குகிறது; இது மடிக்கணினியை விட தொலைபேசிக்கு மிகவும் முக்கியமானது.
Terminal செயலியின் சொந்த biometric அல்லது passcode lock வசதியைச் செயல்படுத்தவும். இது இல்லையெனில், தொலைபேசி unlock செய்யப்பட்டிருக்கும் வரை, திரை விழித்திருக்கும் காலம் முழுவதும் உங்கள் server-க்கான அணுகல் திறந்தே இருக்கும்.
Android: Termux
pkg upgrade
pkg install openssh mosh
ssh-keygen -t ed25519 -C "pixel"
cat ~/.ssh/id_ed25519.pubTermux அதன் சொந்த களஞ்சியத்தில் (repository) OpenSSH மற்றும் mosh ஆகியவற்றை வழங்குகிறது. எனவே, ssh, ssh-keygen மற்றும் mosh ஆகியவை டெஸ்க்டாப் கணினியில் செயல்படுவது போலவே செயல்படும். திரையில் காட்டப்படும் public key வரியை சர்வரில் உள்ள ~/.ssh/authorized_keys கோப்பில் சேர்க்கவும், பின்னர் mosh you@server மூலம் இணைக்கவும்.
Android-ன் திரையில் தோன்றும் விசைப்பலகையில் (on-screen keyboard) Esc மற்றும் Ctrl விசைகள் இல்லை. Claude Code-க்கு இவை இரண்டும் தேவை. Termux-ல் இதற்கென பிரத்யேக விசை வரிசையை உருவாக்க முடியும். ~/.termux/termux.properties கோப்பில் பின்வரும் வரியைச் சேர்க்கவும்:
extra-keys = [['ESC','|','/','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]பின்னர் termux-reload-settings கட்டளையை இயக்கினால், விசைப்பலகைக்கு மேலே அந்த வரி தோன்றும். இதே reload செயல்முறை, ~/.termux/font.ttf பாதையில் இடப்படும் monospace TrueType எழுத்துருக்களையும் (font) ஏற்கும்.
Termux பின்னணியில் இயங்கும்போது Android அதை நிறுத்தக்கூடும். இதனால் உங்கள் அமர்வு (session) துண்டிக்கப்படலாம், ஆனால் மீண்டும் இணைப்பதன் மூலம் அதைச் சரிசெய்யலாம். ஏனெனில், அமர்வும் agent-ம் சர்வரிலேயே இயங்குகின்றன.
Wi-Fi இணைப்பைத் துண்டிக்கும்போது terminal ஏன் முடங்குகிறது, mosh இதை எவ்வாறு சரிசெய்கிறது?
SSH இணைப்பு என்பது ஒரு TCP (transmission control protocol) இணைப்பாகும். ஒரு TCP இணைப்பு, இரு முனைகளின் முகவரிகள் மற்றும் ports ஆகியவற்றால் அடையாளம் காணப்படுகிறது. நீங்கள் Wi-Fi வரம்பிலிருந்து வெளியேறும்போது, உங்கள் தொலைபேசி mobile network-லிருந்து புதிய முகவரியைப் பெறுகிறது. இதனால், பழைய இணைப்பு இரு முனைகளிலும் எதனுடனும் பொருந்தாது. இது குறித்து எந்த அறிவிப்பும் வராது. TCP கைவிடும் வரை terminal பதிலளிக்காது, அதன் பிறகு ssh client_loop: send disconnect: Broken pipe என்ற செய்தியைக் காட்டும். முடங்கிய session-ஐ உடனடியாக நிறுத்த, Enter, பின் ~, அதன் பிறகு . ஆகியவற்றை அழுத்தவும்.
mosh (mobile shell) இந்தத் தோல்வி நிலையை நீக்குகிறது. இது SSH-ஐப் பயன்படுத்தி ஒருமுறை login செய்து mosh-server process-ஐத் தொடங்குகிறது. சர்வர் தேர்ந்தெடுத்த UDP (user datagram protocol) port-ஐப் படித்துவிட்டு, SSH இணைப்பை மூடிவிடுகிறது. அதன் பிறகு, இரு தரப்பும் பகிரப்பட்ட session key மூலம் அங்கீகரிக்கப்பட்ட UDP datagram-களைப் பரிமாறிக்கொள்கின்றன. எனவே, இணைப்பு உங்கள் முகவரியால் அல்லாமல், அந்த key மூலம் அடையாளம் காணப்படுகிறது. புதிய முகவரிக்கு மாறினாலும் இணைப்பு தொடரும். mosh உங்கள் தட்டச்சு செய்தவற்றை உள்ளூர் அளவில் உடனுக்குடன் காட்டும், சர்வர் மாறுபட்டால் திரையை மீண்டும் புதுப்பிக்கும். இதனால்தான் மெதுவான mobile இணைப்பிலும் இது சிறப்பாகச் செயல்படுகிறது.
mosh 60000 முதல் 61000 வரையிலான UDP port-ஐப் பயன்படுத்துகிறது, எனவே அந்த வரம்பைத் திறந்து வைக்கவும்:
sudo ufw allow 60000:61000/udp
sudo ufw statusufw மூலம் ports-ஐத் திறத்தல் பகுதியில் firewall குறித்த முழு விவரங்கள் உள்ளன. உங்கள் service provider அதன் control panel-ல் தனிப்பட்ட network firewall-ஐ வழங்கினால், அங்கேயும் அதே வரம்பைச் சேர்க்கவும். ஏனெனில், machine-க்கு முன்னால் இருக்கும் filter-ஐ ufw விதி பாதிக்காது.
mosh-ல் பொதுவாக இரண்டு தோல்விகள் ஏற்படும். login வெற்றி பெற்று, பின் முடங்கி Nothing received from server on UDP port 60001. என்று காட்டினால், தொலைபேசிக்கும் சர்வருக்கும் இடையே எங்கோ UDP வரம்பு தடுக்கப்பட்டுள்ளது என்று பொருள். இணைப்பு mosh-server not found என்று காட்டினால், அந்த package சர்வரில் இல்லை அல்லது login PATH-ல் இல்லை என்று பொருள். அதை install செய்யவும் அல்லது mosh --server=/usr/bin/mosh-server you@server மூலம் நேரடியாகச் சுட்டிக்காட்டவும்.
login locale UTF-8 ஆக இல்லையெனில் mosh இயங்க மறுக்கும், மேலும் mosh-server needs a UTF-8 native locale to run. என்று பிழைச் செய்தியைக் காட்டும். தொலைபேசியில் அல்ல, சர்வரில் locale-ஐச் சரிசெய்யவும்.
locale
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8mosh செய்யாத இரண்டு விஷயங்கள் உள்ளன. mosh, X forwarding அல்லது port forwarding உள்ளிட்ட SSH-ன் non-interactive பயன்பாடுகளை ஆதரிக்காது என்று அதன் README கூறுகிறது. எனவே, Claude Code தொடங்கிய web app-ஐப் பார்க்க சாதாரண ssh -L 8080:127.0.0.1:8080 you@server தேவைப்படும். மேலும், இது திரையில் தெரியும் பகுதியை மட்டுமே ஒத்திசைக்கிறது, எனவே இதற்குத் தனிப்பட்ட scrollback வசதி இல்லை. இந்த இரண்டாவது வரம்பு பெரிய பாதிப்பை ஏற்படுத்தாது, ஏனெனில் tmux scrollback-ஐத் தக்கவைக்கும்: Ctrl-b அழுத்தி பின் [ அழுத்தினால் copy mode-க்குச் செல்லும், mouse மூலம் இழுப்பதன் மூலமோ அல்லது arrow keys மூலமோ scroll செய்யலாம், q அழுத்தினால் வெளியேறலாம்.
தொலைபேசித் திரையை பயன்படுத்தக்கூடியதாக மாற்றுதல்
சர்வரில் உள்ள ~/.tmux.conf-ல் உள்ள நான்கு வரிகள் பெரும்பாலான வேலைகளைச் செய்கின்றன:
set -g mouse on
set -g status-position top
set -g default-terminal "tmux-256color"
set -g history-limit 20000mouse on என்பது தொடுதிரை இழுத்தலை (touch drag) scroll ஆகவும், தட்டுதலை (tap) pane அல்லது window தேர்வாகவும் மாற்றுகிறது. இது தட்டச்சு செய்ய கடினமாக இருக்கும் பெரும்பாலான prefix keys-க்கு மாற்றாக அமைகிறது. status-position top என்பது tmux status line-ஐ திரையின் கீழ் விளிம்பிலிருந்து நகர்த்துகிறது; ஏனெனில், திரையில் தோன்றும் விசைப்பலகை (on-screen keyboard) மற்றும் அதன் பரிந்துரைப் பட்டி (suggestion bar) அதை மறைத்துவிடும். default-terminal முக்கியமானது, ஏனெனில் இல்லையெனில் tmux ஒரு screen terminal-ஆக Claude Code-க்குத் தன்னை அறிவிக்கும்; இதனால் நிறங்கள் மற்றும் பெட்டி வரைபடங்கள் (box drawing) எதிர்பார்த்ததை விட மோசமாகத் தோன்றும். ஒருவேளை missing or unsuitable terminal: tmux-256color-உடன் tmux தொடங்க மறுத்தால், terminfo entry விடுபட்டுள்ளது என்று பொருள்: sudo apt install ncurses-term.
நான்கு விசைகளைக் கற்றுக்கொண்டால், மீதமுள்ளவை வசதியாக இருக்கும்.
Escஎன்பது Claude-ன் பதிலின் நடுவே அதைத் தடுத்து நிறுத்தி, ஏற்கனவே செய்த வேலையைத் தக்கவைக்கும். எனவே, உங்கள் கட்டைவிரலுக்கு அருகில் இருக்க வேண்டிய விசை இதுதான்.Ctrl+Cஎன்பது இயங்கிக்கொண்டிருக்கும் ஒரு செயல்பாட்டைத் தடுத்து நிறுத்தும். idle prompt-ல் இருக்கும்போது, முதல் முறை அழுத்தினால் உள்ளீடு (input) நீக்கப்படும், இரண்டாவது முறை அழுத்தினால் Claude Code-லிருந்து வெளியேறும். எனவே இது சற்று கடுமையான கருவி.Esc-ஐ இருமுறை அழுத்தினால் draft prompt நீக்கப்படும்; காலியான prompt-ல் அழுத்தினால் rewind menu திறக்கும்.- பல வரி கொண்ட prompt-க்கு,
\-ஐத் தட்டச்சு செய்து Enter அழுத்தவும். இந்த முறை அனைத்து terminal-களிலும் வேலை செய்யும். Shift+Enter என்பது சில desktop terminal-களில் மட்டுமே இயல்பாகச் செயல்படும், mobile client-களில் அது வேலை செய்யாது.
Split panes-ஐத் தவிர்க்கவும். போர்ட்ரெய்ட் (portrait) நிலையில் உள்ள தொலைபேசி சுமார் 40 columns அகலம் கொண்டது. எனவே, செங்குத்தான பிரிப்பு (vertical split) ஒவ்வொரு pane-க்கும் 20 columns-ஐ மட்டுமே தரும், இதனால் ஒவ்வொரு diff-ம் குழப்பமாகத் தெரியும். அதற்குப் பதிலாக tmux windows-ஐப் பயன்படுத்தவும்: Ctrl-b c ஒரு புதிய window-வை உருவாக்கும், Ctrl-b n அடுத்த window-விற்குச் செல்லும். இரண்டாவது window-வில் மற்றொரு Claude Code session இருந்தால், இரண்டு session-களும் நேரடியாகத் தகவல்களைப் பரிமாறிக்கொள்ள முடியும். தொடுதிரையில் window-களுக்கு இடையே உரையை நகலெடுப்பதற்குப் பதிலாக இது சிறந்தது. diff-ஐச் சரியாகப் படிக்க வேண்டியிருக்கும் போது தொலைபேசியைச் சாய்த்து (sideways) வைத்துக்கொள்ளவும்.
அந்த screen-ல் எவ்வளவு text தோன்ற வேண்டும் என்பதை திட்டமிட்டு அமைப்பது பயனுள்ளது; ஏனெனில் output style ஒவ்வொரு reply-க்கும் பின்னால் உள்ள system prompt-ஐ மாற்றுகிறது. மேலும் சுருக்கமான style-ஐத் தேர்ந்தெடுத்தால், phone-ல் கடந்து செல்ல வேண்டிய screenfuls குறையும்.
சிறிய திரையில் நீண்ட நேரம் வேலை செய்வது பெரும்பாலும் context தொடர்பான சிக்கலாகும். எனவே, Claude Code context window-வை நிர்வகிப்பது குறித்துப் படித்துவிட்டு, பயணத்தின் போது முழு நாள் வேலையைச் செய்யத் தொடங்குவது நல்லது.
பாதுகாப்பை உறுதிப்படுத்துதல்: கடவுச்சொற்களைத் தவிர்த்து, keys-ஐ மட்டும் பயன்படுத்துதல்
உங்கள் குறியீட்டைத் திருத்தவும், கட்டளைகளை இயக்கவும் உதவும் ஒரு இயந்திரத்திற்கான key இப்போது உங்கள் தொலைபேசியில் உள்ளது. கடவுச்சொல் அங்கீகாரத்தை (password authentication) முடக்கவும். sshd_config-ஐ நேரடியாகத் திருத்துவதை விட, ஒரு drop-in கோப்பைப் பயன்படுத்துவது பாதுகாப்பானது. ஏனெனில், Ubuntu-வின் sshd_config கோப்பில் /etc/ssh/sshd_config.d/*.conf சேர்க்கப்பட்டுள்ளது; ஒரு அமைப்பிற்கு முதலில் கண்டறியப்படும் மதிப்பையே அது எடுத்துக்கொள்ளும்.
sudo tee /etc/ssh/sshd_config.d/99-phone.conf >/dev/null <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl reload sshsshd -t கட்டளையானது configuration-ஐ ஆய்வு செய்யும்; அது சரியாக இருந்தால் எந்த வெளியீடும் இருக்காது. இதைத் தவிர்க்காதீர்கள்; ஒரு சிறிய எழுத்துப் பிழை இருந்தாலும், reload செய்யும்போது sshd தோல்வியடையும். உங்கள் தற்போதைய session-ஐத் திறந்தே வைத்திருங்கள்; எதையும் மூடுவதற்கு முன்பு இரண்டாவது connection மூலம் சோதித்துப் பாருங்கள். ஏனெனில், தவறான key இருந்தால் Permission denied (publickey). பிழை ஏற்படும்; கடவுச்சொல் வசதி முடக்கப்பட்டிருப்பதால், மாற்று வழி இருக்காது. அந்தச் சூழலில், உங்கள் service provider வழங்கும் console மட்டுமே மீட்புக்கான ஒரே வழியாகும்.
ஒவ்வொரு சாதனத்திற்கும் தனித்தனி key-ஐ வழங்கவும். தொலைபேசியைத் தொலைத்துவிட்டால், ~/.ssh/authorized_keys கோப்பிலிருந்து ஒரு வரியை மட்டும் நீக்கினால் போதும்; உங்கள் laptop தொடர்ந்து இயங்கும். ஒரே key-ஐப் பகிர்ந்துகொண்டால், நீங்கள் வைத்திருக்கும் அனைத்துச் சாதனங்களிலும் key-ஐ மாற்ற வேண்டியிருக்கும்.
Ubuntu 24.04-ல் SSH-ஐ வேறொரு port-க்கு மாற்றினால், listener ssh.socket-க்குச் சொந்தமானது என்பதை நினைவில் கொள்க. எனவே, Port வரியை மட்டும் மாற்றினால் எந்த மாற்றமும் நிகழாது. sudo systemctl edit ssh.socket கட்டளையை இயக்கவும், காலியான ListenStream= மூலம் இயல்புநிலை அமைப்பை நீக்கவும், பின்னர் அடுத்த வரியில் உங்கள் port-ஐ அமைக்கவும். VPS-ல் SSH-ஐப் பாதுகாப்பாக்குதல் என்ற பகுதி இதையும், பிற பாதுகாப்பு அம்சங்களையும் விளக்குகிறது.
கடவுச்சொற்கள் முடக்கப்பட்ட பிறகு, SSH-க்கான fail2ban கூடுதல் பாதுகாப்பைத் தருவதில்லை. ஏனெனில், கடவுச்சொல் ஊகிக்கப்பட்டாலும் அதை ஏற்க முடியாது. ஆனால், இது logs-ஐத் தெளிவாக வைத்திருப்பதன் மூலம், உண்மையான login முயற்சியை எளிதாகக் கண்டறிய உதவுகிறது.
SSH-ஐப் பொது இணையத்திலிருந்து (public internet) விலக்கி வைப்பதே சிறந்த வழி. சர்வரை நீங்கள் சொந்தமாக நடத்தும் WireGuard VPN-க்கு பின்னால் வைக்கவும். தேவைப்படும்போது தொலைபேசியில் tunnel-ஐத் தொடங்கவும், sshd-ஐ tunnel-ல் மட்டும் ListenAddress மூலம் கேட்கச் செய்யவும். இரு பக்கமும் UDP என்பதால் mosh இந்த tunnel-ல் இயங்கும். ஒரு குறிப்பு: tunnel பாக்கெட் அளவை (packet overhead) அதிகரிக்கும். எனவே, பெரிய கோப்புப் பரிமாற்றங்கள் தடைபட்டால், தொலைபேசியின் WireGuard அமைப்பில் MTU (maximum transmission unit) அளவைக் குறைக்கவும்.
இந்த முறையில் பணியாற்றுவது குறித்து ஒரு கடைசி விஷயம். தொலைபேசியிலிருந்து நீங்கள் அனுமதி கோரும்போது, திரையில் சில வரிகள் மட்டுமே தெரியும். எனவே, பாதுகாப்பு அம்சங்களை முடக்குவதற்குப் பதிலாக, அவற்றை அப்படியே வைத்திருப்பது அவசியம். VPS-ல் Claude Code-ஐப் பாதுகாப்பாக இயக்குதல் என்ற பகுதி, தொடுதிரையை முதன்மை அணுகல் கருவியாகப் பயன்படுத்துவதற்கு முன்பு அமைக்க வேண்டிய பயனர் மற்றும் directory கட்டுப்பாடுகளை விளக்குகிறது.
மீண்டும் இணைக்கும்போது ஏதேனும் சிக்கல் ஏற்பட்டால்
tmux attach printing no server running on /tmp/tmux-1000/default என்பது tmux server செயலிழந்துவிட்டதைக் குறிக்கிறது, இது பெரும்பாலும் கணினி reboot செய்யப்பட்டதையே உணர்த்தும். uptime மூலம் இதைச் சரிபார்க்கவும். தானியங்கி பாதுகாப்பு மேம்படுத்தல்கள் (automatic security updates) மூலம் kernel மேம்படுத்தப்படும்போது கணினி reboot ஆகும், அவ்வாறு reboot ஆன கணினியில் tmux session இருக்காது. எனவே, எந்தவொரு Claude Code செயல்பாட்டையும் நீங்கள் மீண்டும் தொடங்கக்கூடிய ஒன்றாகக் கருதவும்.
can't find session: claude என்பது வேறுபட்டது. இதில் tmux server இயங்கிக்கொண்டிருக்கும், ஆனால் குறிப்பிட்ட அந்தப் பெயர் அங்கு இருக்காது. tmux ls கட்டளையைப் பயன்படுத்தி தற்போது என்னென்ன உள்ளன என்பதைப் பார்க்கலாம்.
நீங்கள் இணைக்கும்போது, Claude Code இருந்த இடத்தில் சாதாரண shell prompt மட்டும் இருந்தால், session முடியாமல் process முடிந்துவிட்டது என்று அர்த்தம். dmesg -T | tail கோப்பில் Out of memory: Killed process 4821 (claude) போன்ற வரி உள்ளதா என்று பார்க்கவும்; 4 GB-க்கும் குறைவான RAM கொண்ட கணினிகளில் பெரிய மாற்றங்களைச் செய்யும்போது இது நிகழும். இத்தகைய வரி எதுவும் இல்லை என்றால், Claude Code தானாகவே வெளியேறியுள்ளது என்று பொருள். shell-ன் scrollback பகுதியில் அதற்கான காரணத்தைக் காணலாம்.
திரும்பி வரும் window அளவில் சிறியதாக, சுற்றிலும் பயன்படுத்தப்படாத இடத்துடன் இருந்தால், வெவ்வேறு அளவுகளில் இரண்டு clients இணைக்கப்பட்டுள்ளன என்று அர்த்தம். ஏனெனில், இணைக்கப்பட்டுள்ளவற்றில் மிகச்சிறிய client-ன் அளவிற்கு ஏற்பவே tmux window-வை மாற்றியமைக்கும். உங்கள் laptop 200 columns அகலத்தில் session-ஐ வைத்திருக்கும்போது, உங்கள் phone 40 columns-ஐக் கேட்கலாம். இணைக்கும்போதே மற்றவற்றைத் துண்டிக்க இந்த கட்டளையைப் பயன்படுத்தவும்: tmux attach -d -t claude.
FAQ
என்னால் Claude Code-ஐ VPS-க்கு பதிலாக எனது தொலைபேசியிலேயே இயக்க முடியுமா?
இயக்க முடியாது. ஜூலை 2026 நிலவரப்படி, macOS, Windows, Ubuntu 20.04 அல்லது அதற்குப் பிந்தைய பதிப்புகள், Debian 10 அல்லது அதற்குப் பிந்தைய பதிப்புகள் மற்றும் Alpine 3.19 அல்லது அதற்குப் பிந்தைய பதிப்புகள், குறைந்தபட்சம் 4 GB RAM கொண்ட சாதனங்கள் மட்டுமே ஆதரிக்கப்படுகின்றன. Android மற்றும் iOS இந்த பட்டியலில் இல்லை. மேலும், தொலைபேசிகள் செயலிகளைத் தூக்க நிலைக்கு (sleep) கொண்டு செல்லும் மற்றும் அடிக்கடி network முகவரியை மாற்றும்; நீண்ட நேரம் இயங்கும் ஒரு agent-க்கு இது உகந்தது அல்ல. எனவே, ஒரு server-ல் இயக்கி, தொலைபேசியை ஒரு திரையாக மட்டும் பயன்படுத்துங்கள்.
நான் செயலியை மூடினாலோ அல்லது சிக்னல் துண்டிக்கப்பட்டாலோ session அப்படியே இருக்குமா?
ஆம், இரண்டு தனித்தனி கூறுகள் இந்த வேலையைச் செய்கின்றன. tmux server-ல் process-ஐத் தொடர்ந்து இயங்க வைக்கும், எனவே இணைப்பு துண்டிக்கப்பட்டாலும் எதுவும் நின்றுவிடாது. mosh முகவரி மாற்றத்திற்குப் பிறகும் இணைப்பை உயிர்ப்புடன் வைத்திருக்கும், எனவே wifi-லிருந்து mobile data-விற்கு மாறினாலும் நீங்கள் மீண்டும் இணைய வேண்டிய அவசியம் இருக்காது. சாதாரண SSH மற்றும் tmux இல்லாமல் பயன்படுத்தினால், இணைப்பு துண்டிக்கப்படும்போது SIGHUP அனுப்பப்பட்டு, Claude Code பாதியிலேயே நின்றுவிடும்.
mosh இணைக்கப்பட்ட பிறகும் ஏன் எதுவும் தெரியவில்லை?
Login வெற்றிகரமாக முடிந்து, Nothing received from server on UDP port 60001. என்று காட்டினால், UDP 60000 முதல் 61000 வரையிலான ports திறக்கப்படவில்லை என்று அர்த்தம். ufw-ல் இந்த range-ஐச் சேர்க்கவும், மேலும் பெரும்பாலான control panel-களில் தனித்தனியாக இருக்கும் உங்கள் provider-ன் network firewall-லும் இதைச் சேர்க்கவும். ஒருவேளை mosh mosh-server கிடைக்கவில்லை என்று காட்டினால், server-ல் அந்த package இல்லை என்று பொருள்: sudo apt install mosh.
Esc key இல்லாத விசைப்பலகையில் Claude Code-ஐ எவ்வாறு நிறுத்துவது?
ஒரு key row-வைச் சேர்க்கவும். Termux-ல் ~/.termux/termux.properties கோப்பில் extra-keys மூலம் இதை அமைக்கலாம். Termius மற்றும் Blink ஆகிய இரண்டிலும் நீங்கள் settings-ல் திருத்தக்கூடிய ஒரு row வசதி உள்ளது. Esc இயங்கிக்கொண்டிருக்கும் பதிலை நிறுத்தி, ஏற்கனவே செய்த வேலையை அப்படியே வைத்திருக்கும். Ctrl+C-வும் நிறுத்தும், ஆனால் idle prompt-ல் இருக்கும்போது அதை இரண்டு முறை அழுத்தினால் Claude Code வெளியேறிவிடும், எனவே முதலில் Esc-ஐப் பயன்படுத்தவும்.
இணையத்தில் SSH-ஐத் திறந்து வைப்பது பாதுகாப்பானதா?
Password authentication-ஐ முடக்கிவிட்டால், உங்கள் சாதனங்களை விட்டு வெளியேறாத ஒரு key மட்டுமே வெற்றிகரமாக நுழைய முடியும். மீண்டும் உருவாக்கக்கூடிய ஒரு machine-க்கு இது ஏற்றுக்கொள்ளக்கூடிய ஆபத்துதான். ஒவ்வொரு சாதனத்திற்கும் தனித்தனி key-களை வழங்கவும், இதன் மூலம் தொலைபேசி தொலைந்தால் authorized_keys-ல் ஒரு வரியை மட்டும் நீக்கினால் போதுமானது. பொதுவான port-ல் எதையும் திறக்க விரும்பவில்லை என்றால், அந்த server-ஐ WireGuard-க்கு பின்னால் வைத்து, sshd-ஐ tunnel முகவரியில் மட்டும் கேட்க (listen) வைக்கவும்.