开篇寄语
iSH是一个活跃的项目,用于在iOS上运行Linux Shell。它提供了一个Alpine Linux环境,并带有apk软件包管理器。该应用程序依赖于用户模式x86仿真。伯衡君下载试用后,发现其功能真的很强大,好像是同时拥有了Linux电脑和iOS双系统,不错不错。您可以从App Store下载iSH。新安装的默认情况下包括功能齐全的apk。现有的应用程序用户可能需要按照文档中的步骤手动安装apk。
内容详情
首先从App Store安装iSH。启动应用程序,您将直接进入Alpine Linux终端环境。
您可以开始运行熟悉的Linux命令!您可以使用BusyBox提供的所有Unix实用程序,包括cat,grep,ls,sed和wget等。
iSH提供了自己的键盘图标条,以简化触摸屏终端的使用。该条左侧的四个按钮分别是Tab键,Control键,Escape键和箭头键。在您希望光标导航的方向上滑动箭头键按钮。
右侧的三个按钮分别是可打开设置界面,从iOS剪贴板粘贴文本以及隐藏键盘。隐藏键盘后,点按任意位置即可使键盘恢复原状。
设置功能
设置菜单可让您自定义一些选项。 “外观”页面允许您设置字体并在浅色和深色主题之间切换。在“应用程序图标”页面上,可以从多个应用程序图标中进行选择。通过此选择,您可以将iSH与iOS主屏幕上其他应用程序的视觉风格进行匹配。
外部键盘使您可以控制iSH处理通过蓝牙或USB适配器连接的物理键盘的方式。除了iOS的内置重新映射选项之外,您还可以将选项和反引号键重新映射到iSH元和转义键。您可以通过启用“使用外部键盘隐藏”设置来隐藏iSH的图标栏(使用外部键盘时)。
文件系统
iSH支持使用多个文件系统。前往设置菜单中的“文件系统”页面进行管理。首先,您将看到一个包含内置Alpine安装的“默认”文件系统。
按“浏览文件”以在iOS的“文件”应用中打开文件系统。这可以帮助您快速将文件从iSH复制到iOS设备上的其他位置。
您可以使用“导出”选项导出整个文件系统。可以使用“文件系统”主页面上的“导入”按钮将文件系统导入iSH。
文件系统的实际用例是允许您运行多个独立的安装。
您可以尝试使用Alpine的“迷你根文件系统” –下载该文件,然后将其导入,然后按“从此文件系统启动”以使用该文件系统重新启动iSH。通过选择菜单项并再次选择“从此文件系统启动”,切换回默认文件系统。
添加包
您可以使用常规apk命令在iSH环境中管理软件包。
# Update the package lists apk update # Upgrade existing installed packages apk upgrade # Install SSH apk add openssh # Remove SSH apk del openssh
请注意,iSH默认使用其自己的程序包存储库。通过确保应用完全独立,该应用可以通过应用商店审查。
如果愿意,可以切换到正式的Alpine Linux存储库。这使您可以访问Alpine软件的完整列表。许多软件包将在Alpine主存储库中提供比iSH存储库中提供的软件包更高的版本。
grep -v "file:///ish/apk/" /etc/apk/repositories | dd of=/etc/apk/repositories bs=4194304 echo https://dl-cdn.alpinelinux.org/alpine/v3.12/main >> /etc/apk/repositories echo https://dl-cdn.alpinelinux.org/alpine/v3.12/community >> /etc/apk/repositories
运行以上命令,用Alpine Linux提供的存储库替换iSH的/ ish / apk伪文件系统的内容。然后,您需要运行apk更新以获取新的软件包列表。
使用ssh
您可以使用apk add openssh安装OpenSSH,客户端将立即工作,可以尝试ssh me @ myserver。
要将iOS设备用作SSH服务器,请运行以下命令:
ssh-keygen -A passwd echo "PermitRootLogin yes" >> /etc/ssh/sshd_config sshd
这将生成SSH主机密钥,并提示您为root用户设置密码。调用sshd可执行文件以启动SSH服务器。现在,您可以以root用户身份连接到设备。
默认情况下,iSH不支持自动启动服务。您可以通过将/ etc / inittab的第三行编辑为:: sysinit:/ sbin / openrc来进行设置。下次运行rc-update add sshd,以使SSH服务器在启动iSH会话时自动启动。
运行Web服务器
如SSH示例所示,iSH使用您设备的网络堆栈。您可以托管一个网络服务器,您可以在其他设备上进行浏览。
运行apk install apache2以添加Apache。使用httpd启动Apache进程。接下来,在网络浏览器中访问iOS设备的IP地址-您应该看到Apache的默认“It works!”文本。
iSH目前不支持在后台运行。这意味着您在使用iPhone时无法切换到Safari并浏览网页。在iPad上,可以以拆分视图打开浏览器– iSH在屏幕的一侧保持活动状态。
可以按照常规方式配置Apache。您可以在/etc/apache2/httpd.conf中找到其配置文件。默认的文档根目录-/ var / www / localhost / htdocs是从中提供网页的。
您现在在iOS设备上运行Alpine Linux环境。添加对您的工作有意义的软件包。可以使用的软件列表越来越多,其中包括Unix staples和完整的编程语言。 Node.js,Python,PHP,Ruby和Git均可运行。
并非所有软件包都可以。进行尚未翻译的系统调用的软件将崩溃。由于iSH是仿真器,因此性能有时可能也未达到标准。
如果要使用图形应用程序,则可以运行VNC服务器。 iSH Wiki中提供了详细步骤。通过图形工作负载,性能限制将变得很清楚,但是在技术上是可行的。该过程涉及安装xorg-server,设置无头配置,然后添加.xinitrc文件以定义要使用的窗口管理器。使用轻量级的窗口管理器(例如i3),您将获得最佳效果。
总结
iSH似乎已成为开发人员和系统管理员必备的iOS应用。已经有像a-Shell这样的高质量应用程序,它们提供基本的Unix工具,以及像Termius这样的SSH客户端,它们使您可以连接到远程Linux机器。 iSH是迄今为止最完整的解决方案,它提供了一个Linux环境,该环境支持越来越多的流行软件。
在iPhone或iPad上使用iSH,无论您身在何处,都可以使用熟悉的x86 Linux软件。将其与外部键盘配对后,您便拥有了可以真正取代笔记本电脑的便携式生产力设备。
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号