一款开源的专业桌面级 iOS 终端应用

Posted 程序员大咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一款开源的专业桌面级 iOS 终端应用相关的知识,希望对你有一定的参考价值。

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨小集

来源丨小集(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 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

以上是关于一款开源的专业桌面级 iOS 终端应用的主要内容,如果未能解决你的问题,请参考以下文章

一款专业的文字识别软件

开源:一款开源的高颜值现代化桌面美化工具

Maxwell 一款简单易上手的实时抓取Mysql数据的软件

华为正式开源方舟编译器:架构级优化,程序性能显著提升

电脑软件:推荐一款非常实用的卸载工具BCU

CentOS/Fedora/Redhat系列桌面级系统下载工具整合