👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇
作者丨小集
来源丨小集(ID:zsxjtip)
iOS 和 iPadOS 由于 Apple 的限制,没有原生的终端,同时由于应用程序被限定在沙盒中,所以应用程序无法访问系统的一些资源和能力,也大大限制了类终端应用的能力。不过还是有一些优秀的类终端应用程序,这里给大家推荐一款:Blink
。
Blink 是第一个利用 Mosh 和 SSH 支持的 iOS 专业桌面级终端。因此,可以保证稳定的连接、闪电般的速度和完整的配置。
Blink 是一款专业级产品,它建立在以下三个概念上:
快速渲染:Unix 服务器中的 dmesg 应该是即时的。Blink 没有重新发明轮子来实现这一点,只是使用了 Chromium 的 HTerm 来确保渲染完美而快速,即使使用那些特殊的、棘手的编码也是如此。
永远在线:Mosh 克服了与移动连接相关的不稳定和间歇性连接。有了 Mosh 的支持,我们可以完美地从家里跳到火车,然后到办公室。Blink 一直是坚如磐石的连接,我们不用担心设备进入睡眠状态,当稍后将其唤醒时,我们的连接将完好无损。由于 Mosh 是现成的,可以很容易地安装在我们的服务器上。访问 https://mosh.org。
完全可配置:Blink 完美地支持蓝牙键盘。有些人喜欢 Vim 上的 Caps 作为 Esc,其他人喜欢 Emacs 上的 Caps 作为 Ctrl。Blink 可以满足所有人的需求。我们还可以将自己的自定义主题和字体添加到 Blink。
除此之外,Blink 还有一些其它特性:
可以连接到 Microsoft Visual Studio Code for web、GitHub Codespaces、GitPod 或我们自己的 VS Code 服务器;
借助 Blink Files,我们可以在本地项目上工作,或者在远程机器上无缝工作;
一流的 iOS 体验,配备软件和硬件键盘;
Blink 会让我们直接进入一个友好的 shell,以便我们快速使用;
界面很简单。Blink 转储了所有菜单并为我们的终端全屏显示;
使用滑动在我们打开的连接之间移动,向下滑动关闭它们,甚至可以使用捏放操作;
通过添加我们自己的主机和 RSA 加密密钥来配置 Blink 连接,一切看起来都很熟悉;
支持大屏,可以将 iPad Pro 连接到 4K 显示器并获得全分辨率的终端,也可以在远程 Apple TV 上显示;
Blink 已经合并了 SplitView,以支持那些必要的 Google 搜索和与聊天;
支持的 shell 实用程序
Blink 包含了一组 shell 实用程序,因此我们可以添加/删除文件、列出文件清单等。具体来说,可用的命令(截至目前)包含以下:
cd, setenv, ls, touch, cp, rm, ln, mv, mkdir, rmdir, df, du, chksum, chmod, chflags, chgrp, stat, readlink, compress, uncompress, gzip, gunzip
pwd, env, printenv, date, uname, id, groups, whoami, uptime
cat,grep,wc
curl(包括 http、https、scp、sftp...), scp, sftp
tar
我们可以单独调用命令,也可以使用 python 或 lua 脚本。有重定向(">"、"<"、"&>" ...),但目前不支持管道。
以 curl 为例,它使用 BLINKSHELL 的密钥管理,可以打开与 iPad 之间的文件传输的访问权限
curl scp://host.name.edu/filename -o filename --key $SHARED/id_rsa --pass MyPassword
安装
Blink 现已在 AppStore[2] 上架,可以直接下载使用。
由于 Blink 是开源的,所以我们也可以自行编译,可以按以下步骤来安装:
运行以下命令获取代码库
git clone --recursive https://github.com/blinksh/blink.git && \cd blink && ./get_frameworks.sh && \rm -rf Blink.xcodeproj/project.xcworkspace/xcshareddata/
修改开发者 ID
cp template_setup.xcconfig developer_setup.xcconfig
用 Xcode 打开工程。如果想在没有 iCloud、Push Notificationa 和/或 Keychain 共享的情况下构建,那么先进入项目的 Capabilities 中关闭 Push Notifications、iCloud 和 Keychain Sharing
连接要为其构建的设备并在 Product -> Destination 中选择它
在设备上构建并运行
在构建过程中,将下载 Blink 和相关的框架:libssh2、OpenSSL、libmoshios、protobuf 和 ios_system。
使用
Blink 的 UI 非常简单,并针对真正重要的部分(终端)优化了触摸设备的体验。我们将直接进入一个非常简单的 shell,开始我们的工作。这里还有一些技巧:
键入
help
以在 shell 中查找信息;
用两根手指点击创建一个新的 shell;
通过滑动手指在 shell 之间移动;
可以退出会话并返回 shell 以打开新连接;
使用捏合手势来增加或减小文本的大小。如果使用键盘,也可以使用 Cmd+ 或 Cmd-;
通过选择文本或点击屏幕来复制和粘贴;
运行
config
来设置密钥。通过ssh-copy-id
将它们安装到服务器;
SmartKeys 栏上的 Ctrl 和 Alt 修饰符允许连续按下,就像在真正的键盘中一样;
使用 3 指点击菜单;
小结
我们这里只是简单介绍了一下 Blink 的能力,实际上 Blink 还有很多值得探索的地方,可以参考官方的文档,里面有非常详细的介绍[2]。
参考
[1] https://itunes.apple.com/app/id1156707581
[2] https://blink.sh
❝「Blink Shell」
地址:https://github.com/blinksh/blink
⭐️:5.4k
语言:Swift/Objective-C
❞
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
点击👆卡片,关注后回复【面试题
】即可获取
在看点这里好文分享给更多人↓↓