GNU/Linux >> Belajar Linux >  >> Linux

Jalankan baris perintah Linux di iPad Anda

Tahukah Anda bahwa Anda dapat menjalankan baris perintah Linux di perangkat iOS Anda? Anda mungkin bertanya, "mengapa saya ingin menggunakan aplikasi berbasis teks di iPhone kecil saya?" OK cukup adil. Itu adalah pertanyaan yang cukup masuk akal. Tetapi jika Anda membaca Opensource.com, Anda mungkin tahu jawabannya:Pengguna Linux ingin dapat menggunakan perangkat apa pun, dan mereka juga ingin menggunakan penyesuaian mereka sendiri.

Dan yang terpenting, mereka menginginkan tantangan.

Saya memiliki iPad 2 Mini berusia tujuh tahun yang masih berfungsi dengan baik untuk membaca e-book dan tugas lainnya. Tetapi saya juga ingin menggunakannya untuk mengakses baris perintah untuk aplikasi dan rangkaian program dan skrip saya yang sepertinya tidak dapat saya lakukan tanpanya. Saya ingin lingkungan yang biasa saya gunakan, serta lingkungan pengembangan standar saya. Begini cara saya melakukannya.

Hubungkan ke keyboard

Menggunakan baris perintah untuk pemrograman pada keyboard layar ponsel atau tablet tidak terlalu menyenangkan. Saya sarankan menghubungkan keyboard eksternal, baik melalui Bluetooth atau dengan menggunakan adaptor kit koneksi kamera untuk menghubungkan keyboard kabel (pilihan saya). Memasukkan keyboard split Kinesis Advantage ke iPhone 6 menghasilkan beberapa optik aneh, seperti dek cyber perusahaan dari game role-playing klasik Shadowrun.

Dapatkan shell di iOS

Anda memiliki dua opsi untuk menjalankan sistem Linux lengkap di iOS:

  • Amankan shell (SSH) ke dalam komputer Linux
  • Jalankan sistem virtual menggunakan Alpine Linux dengan iSH, yang merupakan open source, tetapi harus diinstal menggunakan aplikasi TestFlight milik Apple

Atau, ada dua aplikasi emulator terminal sumber terbuka yang menyediakan alat sumber terbuka dalam lingkungan terbatas. Ini adalah opsi yang paling terbatas—ini tidak benar-benar memungkinkan Anda menjalankan Linux, tetapi Anda menjalankan alat Linux. Ada batasan ketat pada apa yang dapat Anda lakukan di perangkat dengan aplikasi ini, tetapi mereka memberi Anda beberapa fungsionalitas baris perintah.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Saya akan melihat pendekatan paling sederhana sebelum menjelajahi solusi yang lebih menantang.

Opsi 1:Cangkang kotak pasir

Salah satu cara termudah untuk memulai adalah dengan aplikasi iOS LibTerm. Ini adalah shell baris perintah open source sandbox dengan 80+ perintah yang dibundel dalam aplikasi $0. Ini dikirimkan dengan Python 2.7, Python 3.7, Lua, C, Dentang, dan banyak lagi.

Sejalan dengan itu adalah a-Shell, yang digambarkan sebagai "antarmuka pengguna berbasis teks untuk platform berbasis layar". a-Shell adalah open source, dalam pengembangan aktif, memberikan akses ke sistem file, dan dikirimkan dengan Lua, Python, Tex, Vim, JavaScript, C, dan C++, bersama dengan Clang dan Clang++. Bahkan memungkinkan Anda untuk menginstal paket Python dengan pip.

Opsi 2:SSH di mana saja

Satu langkah dari mengunduh aplikasi adalah mengonfigurasi klien SSH. Untuk waktu yang lama sekarang, dimungkinkan untuk menggunakan salah satu dari banyak aplikasi klien SSH di iOS untuk terhubung ke server yang menjalankan distro Linux atau BSD. Keuntungan menggunakan SSH adalah server Anda dapat menjalankan distro apa pun dengan perangkat lunak apa pun yang Anda suka. Anda bekerja dari jarak jauh, dan output Anda baru saja disalurkan ke emulator terminal perangkat iOS Anda.

Blink shell adalah aplikasi SSH open source berbayar yang populer. Di luar layar kecil, menggunakan perangkat lunak ini mirip dengan menghubungkan ke server melalui command prompt lainnya. Terminal Blink terlihat cantik, dengan sejumlah tema yang disertakan dan kemampuan untuk membuat tema Anda sendiri, termasuk menyesuaikan dan menambahkan font baru.

Opsi 3:Jalankan Linux

Menggunakan SSH untuk terhubung ke server yang menjalankan Linux adalah cara yang bagus untuk mengakses prompt, tetapi itu membutuhkan akses ke server eksternal dan koneksi. Ini bukan penghalang terburuk untuk masuk, tetapi tidak sepenuhnya dapat diabaikan, dan Anda mungkin ingin menggunakan Linux tanpa persyaratan server ini.

Jika itu kasus Anda, Anda harus membuat sesuatu yang lebih canggih. TestFlight adalah layanan berpemilik untuk menyebarkan aplikasi dalam pengembangan sebelum dikirimkan ke App Store Apple. Anda dapat mengunduh aplikasi TestFlight dari toko, lalu mendaftar ke sejumlah aplikasi uji. Aplikasi di TestFlight memungkinkan penguji beta eksternal dalam jumlah terbatas (umumnya hingga 10.000) untuk waktu yang terbatas. Untuk mengunduh aplikasi pengujian, Anda harus mengakses tautan langsung dari perangkat Anda, yang biasanya ditemukan di situs web pengembang aplikasi pengujian.

Jalankan Alpine Linux dengan iSH

iSH adalah aplikasi TestFlight open source yang menjalankan mesin virtual dengan distro Alpine Linux di luar kotak (tetapi Anda dapat menjalankan distribusi lain dengan sedikit lebih banyak mengutak-atik).

Peringatan penting:ini eksperimental . Karena iSH saat ini merupakan aplikasi pengujian, jangan mengharapkan layanan permanen atau tangguh. Aplikasi TestFlight dibatasi waktu. Build saya saat ini bertahan selama 60 hari. Ini berarti bahwa dalam 60 hari, saya akan terkunci dan harus bergabung kembali dengan fase pengujian iSH berikutnya. Selain itu, saya akan kehilangan file saya kecuali saya mengekspornya dengan File di iOS atau mencadangkannya ke host Git atau dengan SSH. Untuk lebih jelasnya:Jangan mengandalkan ini untuk terus bekerja! Jangan menaruh apa pun di sini yang penting! Cadangkan pekerjaan Anda di tempat lain!

Instal iSH

Mulailah dengan menginstal TestFlight melalui App Store. Kemudian instal iSH dengan mendapatkan tautan instal melalui situs webnya. Ada metode penginstalan lain yang menggunakan AltStore, tetapi saya belum mencobanya. Atau, jika Anda memiliki akun pengembang berbayar, Anda dapat mengunduh repo iSH dari GitHub dan menerapkannya sendiri.

Menggunakan tautan, TestFlight menginstal aplikasi iSH di perangkat Anda. Seperti aplikasi lainnya, aplikasi ini muncul di layar Anda dengan ikon.

Kelola paket

iSH menjalankan emulator x86 dengan Alpine Linux. Alpine adalah distro kecil di bawah 5MB. Ini adalah pertama kalinya saya menjalankan Alpine, dan saya pikir saya akan frustrasi dengan distro yang begitu minim, tetapi saya benar-benar menikmatinya.

Alpine menggunakan pengelola paket apk, yang lebih sederhana daripada apt atau pacman.

Untuk menginstal sebuah paket:

apk add package

Untuk menghapus paket:

apk del package

Temukan perintah dan info lainnya dengan:

apk --help

Perbarui pengelola paket:

apk update
apk upgrade

Dapatkan editor teks

Editor teks default Alpine adalah Vi, tetapi saya lebih suka Vim, jadi saya menginstalnya:

apk add vim

Anda dapat menginstal Nano atau Emacs, jika Anda mau.

Ubah cangkang

Saya tidak tahu tentang Anda, tetapi saya membutuhkan kulit ikan. Orang lain lebih suka Bash atau Zsh. Tapi Alpine menggunakan abu! Ash adalah garpu dari cangkang Dash, itu sendiri merupakan garpu dari abu asli atau cangkang Almquist. Ini dirancang untuk kecepatan. Saya memutuskan untuk menukar kecepatan demi pelengkapan otomatis bawaan, warna, kontrol tombol Vim, dan penyorotan sintaks yang saya kenal dan sukai di cangkang ikan.

Pasang ikan:

apk add fish

Jika Anda menginginkan Bash dan pelengkapnya serta halaman manual, Anda perlu menginstalnya dan beberapa hal tambahan:

apk add bash bash-doc bash-completion

Ideologi minimalis Alpine umumnya berarti bahwa beberapa program yang akan menjadi satu paket di distro lain dipecah menjadi beberapa paket yang lebih kecil. Ini juga berarti Anda dapat menyesuaikan dan merampingkan sistem persis seperti yang Anda inginkan.

Anda dapat menemukan detail lebih lanjut tentang menginstal Bash di tutorial ini.

Ubah shell default

Setelah memasang ikan, Anda dapat beralih sementara dan mencobanya dengan mengetik fish dan jatuh ke dalam cangkang. Tapi saya ingin menjadikan ikan sebagai cangkang default saya, dan chsh perintah yang biasa saya gunakan dari distro lain tidak berfungsi.

Pertama, cari tahu di mana ikan dipasang:

which fish

Hasil saya:

/usr/bin/fish

Selanjutnya, edit shell login untuk menggunakan fish. Anda dapat menggunakan editor apa pun yang Anda sukai. Jika Anda seorang pemula, instal Nano (dengan apk add nano ) sehingga Anda dapat mengedit file konfigurasi dan menyimpannya dengan CTRL+X, konfirmasi, dan keluar.

Tapi saya menggunakan Vim:

vim /etc/passwd

Baris pertama saya adalah:

root:x:0:0:root:/root:/bin/ash

Untuk menjadikan ikan sebagai default, ubah baris tersebut menjadi:

root:x:0:0:root:/root:/usr/bin/fish

Kemudian simpan dan keluar.

Saya yakin ada cara yang baik untuk membuat ulang shell sehingga Anda dapat langsung menggunakannya. Tapi saya tidak yakin, jadi saya sarankan untuk kembali ke browser aplikasi, menutup paksa shell, dan untuk ukuran yang baik, matikan dan mulai ulang iPad atau iPhone Anda. Buka kembali iSH, dan sekarang, selain "Selamat datang di Alpine!" pesan dan info tentang memulai dengan apk, Anda akan melihat pesan selamat datang login ikan default:Selamat datang di ikan, cangkang interaktif yang ramah . Hore!

Menyiapkan Python dan pip

Saya memutuskan untuk menambahkan Python (versi 3.x), bukan hanya agar saya dapat menulis kode, tetapi karena saya mengandalkan beberapa program Python. Instal:

apk add python3

Meskipun Python 2.x tidak digunakan lagi, Anda masih dapat menginstalnya:

apk add python

Instal pengelola paket Python, pip, dan alat penyiapan:

python3 -m ensurepip --default-pip

Perlu beberapa waktu untuk menginstal dan menyiapkan pengelola paket, jadi tunggu saja.

Kemudian, Anda dapat mengunduh curl, alat transfer jaringan:

apk add curl

Baca manual

Fish menggunakan pelengkapan otomatis bawaan berdasarkan halaman manual. Seperti pengguna baris perintah lainnya, saya mengandalkan man manual, dan Alpine tidak datang dengan itu diinstal. Jadi, saya menginstalnya bersama dengan pager yang lebih sedikit:

apk add man man-pages less less-doc

Selain man, saya menggunakan proyek halaman tldr yang luar biasa, yang menyediakan halaman manual berbasis komunitas yang disederhanakan.

Saya menginstalnya dengan pip:

pip install tldr

tldr perintah terhubung ke web untuk mengambil halaman setiap kali menemukan permintaan untuk yang baru. Jika Anda perlu mempelajari cara menggunakan perintah, Anda cukup mengetikkan sesuatu seperti tldr curl untuk mendapatkan penjelasan bahasa Inggris yang sederhana dan contoh yang baik tentang cara menggunakan perintah.

Anda tentu saja dapat mengotomatiskan semua pekerjaan penginstalan ini dengan dotfiles atau skrip penginstalan, tetapi itu tidak akan benar-benar termasuk dalam cara Alpine untuk menyesuaikan penginstalan minimal persis dengan spesifikasi Anda. Lagipula, tidak butuh waktu lama, kan?

Pelajari lebih lanjut

Wiki iSH berisi halaman "apa yang berhasil" dengan laporan tentang paket apa yang saat ini berfungsi. Sebagai catatan, npm tampaknya tidak berfungsi saat ini.

Halaman wiki lain menjelaskan bagaimana Anda dapat mengakses file iSH dari aplikasi File iOS. Ini adalah salah satu cara Anda dapat memindahkan dan mentransfer file.

Anda juga dapat menginstal Git (ya! apk add git ) dan Dorong pekerjaan Anda ke repo jarak jauh atau transfer ke server melalui SSH. Dan, tentu saja, Anda dapat mengunduh dan menjalankan sejumlah proyek sumber terbuka yang luar biasa dari GitHub di sistem Anda.

Untuk informasi lebih lanjut tentang iSH, lihat tautan berikut:

  • situs web iSH
  • Subreddit
  • Masalah GitHub
  • Wiki

Linux
  1. 6 metakarakter Linux yang saya suka gunakan di baris perintah

  2. 4 cara untuk mengedit foto di baris perintah Linux

  3. 8 tips untuk baris perintah Linux

  1. Cara Menjalankan Query MySQL/MariaDB Langsung dari Command Line Linux

  2. Alias ​​baris perintah di Linux Shell

  3. 7 tips untuk mempercepat navigasi baris perintah Linux Anda

  1. Hasilkan kata sandi di baris perintah Linux

  2. Menggunakan kekuatan di baris perintah Linux

  3. Miliki sapi di baris perintah Linux