* Update VS Code to 1.82.2 * Add new libkrb5 dependency * Update patches The only changes were to context except: - The URL callback provider uses a new _callbackRoute argument and moved locations. - The telemetry provider gets passed the request service as the first argument now. - CSP hash changed, as usual. * Update Node to v18 * Revert back to es2020 es2022 is breaking Safari.
6.2 KiB
Termux
Install
- Get Termux from F-Droid.
- Run
pkg install tur-repo
- Run
pkg install code-server
- You can now start code server by simply running
code-server
.
NPM Installation
-
Get Termux from F-Droid.
-
We will now change using the following command.
termux-change-repo
Now select Main Repository
then change repo to Mirrors by Grimler Hosted on grimler.se
.
- After successfully updating of repository update and upgrade all the packages by the following command
pkg update
pkg upgrade -y
- Now let's install requirement dependancy.
pkg install -y \
build-essential \
binutils \
pkg-config \
python3 \
nodejs-lts
npm config set python python3
node -v
you will get Node version v18
-
Now install code-server following our guide on installing with npm
-
Congratulation code-server is installed on your device using the following command.
code-server --auth none
- If already installed then use the following command for upgradation.
npm update --global code-server --unsafe-perm
Upgrade
- Remove all previous installs
rm -rf ~/.local/lib/code-server-*
- Run the install script again
curl -fsSL https://code-server.dev/install.sh | sh
Known Issues
Git won't work in /sdcard
Issue : Using git in the /sdcard
directory will fail during cloning/commit/staging/etc...
Fix : None
Potential Workaround :
- Create a soft-link from the debian-fs to your folder in
/sdcard
- Use git from termux (preferred)
Many extensions including language packs fail to install
Issue: Android is not seen as a Linux environment but as a separate, unsupported platform, so code-server only allows Web Extensions, refusing to download extensions that run on the server.
Fix: None
Potential workarounds :
Either
-
Manually download extensions as
.vsix
file and install them viaExtensions: Install from VSIX...
in the Command Palette. -
Use an override to pretend the platform is Linux:
Create a JS script that patches process.platform
:
// android-as-linux.js
Object.defineProperty(process, "platform", {
get() {
return "linux"
},
})
Then use Node's --require
option to make sure it is loaded before code-server
starts:
NODE_OPTIONS="--require /path/to/android-as-linux.js" code-server
⚠️ Note that Android and Linux are not 100% compatible, so use these workarounds at your own risk. Extensions that have native dependencies other than Node or that directly interact with the OS might cause issues.
Extra
Create a new user
To create a new user follow these simple steps -
- Create a new user by running
useradd <username> -m
. - Change the password by running
passwd <username>
. - Give your new user sudo access by running
visudo
, scroll down toUser privilege specification
and add the following line after rootusername ALL=(ALL:ALL) ALL
. - Now edit the
/etc/passwd
file with your command line editor of choice and at the end of the line that specifies your user change/bin/sh
to/bin/bash
. - Now switch users by running
su - <username>
- Remember the
-
betweeensu
and username is required to execute/etc/profile
,
since/etc/profile
may have some necessary things to be executed you should always add a-
.
Install Go
- Go to https://golang.org/dl/ and copy the download link for
linux arm
and run the following:
wget download_link
- Extract the downloaded archive. (This step will erase all previous GO installs, make sure to create a backup if you have previously installed GO)
rm -rf /usr/local/go && tar -C /usr/local -xzf archive_name
- Run
nano /etc/profile
and add the following lineexport PATH=$PATH:/usr/local/go/bin
. - Now run
exit
(depending on if you have switched users or not, you may have to runexit
multiple times to get to normal termux shell) and start Debian again. - Check if your install was successful by running
go version
Install Python
Run these commands as root
- Run the following commands to install required packages to build python:
sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
- Install pyenv from pyenv-installer by running:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
- Run
nano /etc/profile
and add the following:
export PYENV_ROOT="/root/.pyenv"
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
- Exit and start Debian again.
- Run
pyenv versions
to list all installable versions. - Run
pyenv install version
to install the desired python version.The build process may take some time (an hour or 2 depending on your device).
- Run
touch /root/.pyenv/version && echo "your_version_here" > /root/.pyenv/version
- (You may have to start Debian again) Run
python3 -V
to verify if PATH works or not.If
python3
doesn't work but pyenv says that the install was successful in step 6 then try running$PYENV_ROOT/versions/your_version/bin/python3
.