蚊章汇 - 桌面应用
type: channel
link: https://linuxcn.bwsl.wang/tag/%E6%A1%8C%E9%9D%A2%E5%BA%94%E7%94%A8/
items: 用开源工具将任何网站变成 Linux 桌面应用
items: 20个令人惊叹的桌面Docker容器

用开源工具将任何网站变成 Linux 桌面应用
type: item
date: 2021-11-11T19:53:10+08:00
description: 使用 Nativefier 和 Electron 从任何网站创建桌面应用。Mastodon 是一个很好的开源、去中心化的社交网络。我每天都在使用 Mastodon，通过它的网页界面使用 Mastodon 可能是最常见的方式（尽管因为开源，它有许多不同的交互方式，包括基于终端的应用和移动应用），但我更喜欢专门的应用窗口。最近，我发现了 Nativefier，现在我可以在我的 Linux 桌面上把 Mastodon 或其他任何网页应用作为桌面应用来使用。Nativefier 将一个 URL 用 Electron 框架包装起来，它将开源的 Chromium 浏览器作为后端，但使用自己的可执行程序运行。Nativefier 采用 MIT 许可证，可用于 Linux、Windows 和 MacOS。安装 NativefierNativefier 需要 Node.js。安装 Nativefier 只需运行：$ sudo npm install -g nativefier 在我的 Ubuntu 桌面上，我必须先升级 NodeJS，所以当你安装 Nativefier 时，一定要检查需要哪个 Node 版本。安装完毕后，你可以检查你的 Nativefier 的版本，以验证它是否已经安装：$ nativefier --version 45.0.4 运行 nativefier --help 列出了应用支持的所有选项。设置我建议你在开始用 Nativefier 创建应用之前，创建一个名为 ~/NativeApps 的新文件夹。这有助于保持你的应用有序。$ mkdir ~/NativeApps cd ~/NativeApps 为 Mastodon 创建一个应用程序我将首先为 mastodon.technology 创建一个应用。使用以下命令：$ nativefier --name Mastodon \ --platform linux --arch x64 \ --width 1024 --height 768 \ --tray --disable-dev-tools \ --single-instance https://mastodon.technology 这个例子中的选项做了以下工作：--name：设置应用的名称为 Mastodon--platform：设置应用程序的平台为 Linux--arch x64：设置架构为 x64--width 1024 --height 768：设置应用启动时的大小--tray：为应用创建一个托盘图标--disable-dev-tools：禁用 Chrome 开发工具--single-instance：只允许应用有一个实例运行这条命令会显示以下输出：Preparing Electron app... Converting icons... Packaging... This will take a few seconds, maybe minutes if the requested Electron isn't cached yet... Packaging app for platform linux x64 using electron v13.4.0 Finalizing build... App built to /home/tux/NativeApps/Mastodon-linux-x64, move to wherever it makes sense for you and run the contained executable file (prefixing with ./ if necessary) Menu/desktop shortcuts are up to you, because Nativefier cannot know where you're going to move the app. Search for "linux .desktop file" for help, or see https://wiki.archlinux.org/index.php/Desktop_entries 输出显示，文件被放置在 /home/tux/NativeApps/Mastodon-linux-x64。当你 cd 进入这个文件夹，你会看到一个名为 Mastodon 的文件。这是启动该应用的主要可执行文件。在你启动它之前，你必须给它适当的权限。$ cd Mastodon-linux-x64 chmod +x Mastodon 现在，执行 ./Mastodon 就可以看到你的 Linux 应用启动了！为我的博客创建一个应用为了好玩，我也要为我的博客创建一个应用。如果没有 Linux 应用，…

20个令人惊叹的桌面Docker容器
type: item
date: 2015-06-08T15:49:00+08:00
description: 大家好，今天我们会列出一些运行在Docker容器中的很棒的桌面软件，我们可以在自己的桌面系统中运行它们。Docker 是一个开源项目，提供了一个可以打包、装载和运行任何应用的轻量级容器的开放平台。它没有语言支持、框架和打包系统的限制，从小型的家用电脑到高端服务器，在何时何地都可以运行。它可以使部署和扩展web应用程序、数据库和后端服务像搭积木一样容易，而不依赖特定技术栈或提供商。它主要是由开发、运维工程师使用的，因为它简单、快速和方便，可以用来测试和辅助开发他们产品，但是我们也可以在桌面环境使用Docker，这样一些桌面程序可以开箱即用。下边是20个非常棒的桌面软件docker镜像，我们可以使用Docker来运行。1. LynxLynx是一个一直以来最受欢迎的文本界面网页浏览器，很多Linux用户都很熟悉它。它应该是现在还在日常和开发环境中被使用的最古老的网页浏览器了。可以使用如下命令运行Lync。$ docker run -it \ --name lynx \ jess/lynx 2. IrssiIrssi是一个非常棒的文本界面IRC客户端。可以使用如下命令运行Irssi。docker run -it --name my-irssi -e TERM -u $(id -u):$(id -g) \ -v $HOME/.irssi:/home/user/.irssi:ro \ -v /etc/localtime:/etc/localtime:ro \ irssi 3. ChromeChrome是一个令人惊叹的图形界面网页浏览器，由Google开发，它基于开源的Chromium项目。Google Chrome是一个被广泛使用的、快速安全的网页浏览器，经常上网的人会非常熟悉它。我们可以使用如下命令在Docker中运行Chrome。$ docker run -it \ --net host \ --cpuset 0 \ --memory 512mb \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPLAY \ -v $HOME/Downloads:/root/Downloads \ -v $HOME/.config/google-chrome/:/data \ -v /dev/snd:/dev/snd --privileged \ --name chrome \ jess/chrome 4. Tor浏览器Tor浏览器是一个支持匿名访问的网页浏览器。它让我们可以自由地在网络世界遨游，或者浏览被特定组织或者网络服务提供商封锁的网站。它会阻止别人通过监视我们的网络连接来窃取我们在网络上的一举一动以及我们的确切位置。运行如下命令运行Tor浏览器。$ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPLAY \ -v /dev/snd:/dev/snd --privileged \ --name tor-browser \ jess/tor-browser 5. Firefox浏览器Firefox浏览器是一个自由开源的网页浏览器，它由Mozilla基金会开发。它使用Gecko和SpiderMonkey引擎。Firefox浏览器有很多新特性，并且它以性能和安全性著称。$ docker run -d \ --name firefox \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ kennethkl/firefox 6. Rainbow StreamRainbow Stream是一个文本界面的Twitter客户端，有实时显示tweetstream、搜索、喜欢和更多其他特性，可以直接在终端使用。使用如下命令运行Rainbow Stream。$ docker run -it \ -v /etc/localtime:/etc/localtime \ -v $HOME/.rainbow_oauth:/root/.rainbow_oauth \ -v $HOME/.rainbow_config.json:/root/.rainbow_config.json \ --name rainbowstream \ jess/rainbowstream 7. GpartedGparted是一个用来给磁盘分区的开源软件。现在可以在Docker容器里享受分区的乐趣了。可以使用如下命令运行gparted。$ docker run -it \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e DISPLAY=unix$DISPL…