/usr/share/applications路径下添加应用名.desktop文件。

应用名必须为英文,其中首字母应该要大写(暂未确定是否一定要大写)。
实际上该文件名可以是任意字符串,不一定需要是应用名,但是为了便于管理建议以应用名命名。

以下为我自己创建的Studio.desktop文件内容示例:

[Desktop Entry]
Name =AndroidStudio
Comment =android studio
Exec =/home/oopsvpwowlq/bin/android-studio/bin/studio.sh
Icon =/home/oopsvpwowlq/bin/android-studio/bin/studio.png
Terminal =false
Type =Application

其中
Name字段为在Launcher中显示的应用名
Comment在传统Linux桌面环境中似乎应该是鼠标长时间停留后给出的提示,但 Chrome OS 并无此功能,故似乎无用
Exec为你的应用程序的可执行文件的路径
Icon为你的应用程序的路径
最后两个字段通常情况下照搬即可,如果有特殊要求请自行上网查找 Linux桌面图标相关内容。


常见问题:

  • 为什么在打开后在任务栏中应用的图标变成了默认的小企鹅图标?
    目前来看出现这种问题的程序会首先有一个启动界面,之后启动界面消失产生应用主窗口,图标变为默认。
    本人暂未找到解决方案,一个未经实践的可能的解决方案是使用.svg格式的图片作为图标,如果该方案有效欢迎在评论区指出。
  • 为什么我在修改.desktop文件后Launcher中的图标没有变化?
    系统似乎并不会检测.desktop文件内容的变更。
    解决方案将你的.desktop文件更名,例如将Studio.desktop文件更名为Studio2.desktop文件,以此方式来使系统更新图标。当然图标变更后你也可以将文件名改回去。

安装以下两个插件

  • Secure Shell App 谷歌官方的 SSH 插件,作为下一个插件的依赖
  • Crosh Window Chromium OS 开发组为 Chrome OS 设计的插件,用来启动单独的命令行窗口避免热键冲突

安装完以上两个插件后在主界面找到Crosh Window点击运行即可。
注意:

  • 如果仅安装第二个插件,每次点开会都是空白页。
  • 即使两个插件都安装了,第一次点开仍可能是空白页,关闭后重新打开即可。

用这种方法可以在termina不可用的时候起到与termina等同的作用

有的时候在重启之后会出现点击termina等其他linux应用点击之后一直无法打开的情况。可以尝试使用以下解决方案:

  • ctrl+alt+t 打开命令行界面
  • 输入 vmc list 如果没有 termina 说明虚拟机完全损坏,需要重新安装Linux on ChromeOS
  • 如果存在 termina 输入 `vmc start termina' 进入vm环境
  • 输入 lxc list 查看是否存在 penguin 的项,如果不存在则需要重新安装Linux on ChromeOS
  • 如果存在 penguin 项尝试输入 lxc start termina 如果没有任何提示,输入 lxc list 后发现是 RUNNING 状态说明可以成功运行。
  • 如果出现诸如 error: Missing source '/run/sshd/penguin/authorized_keys' for disk 'ssh_authorized_keys' 的错误则存在以下两种解决方案

    • 发布(备份)并删除原虚拟机后重新安装(速度较慢,取决于虚拟机大小):

      • 依次输入如下命令
      • lxc publish penguin --alias backup
      • lxc delete penguin
      • lxc init backup penguin
      • lxc start penguin
      • 其中第一步运行速度较慢,请耐心等待,如果不确定程序是否正常进行可以另外开一个终端进入 termina ,输入 top 观察是否存在 gziplxc 命令占据大量CPU或内存资源。
    • 尝试创建需要的文件令它再次工作:

      • 输入 ls /run/sshd/ 观察是否存在文件夹(通常情况下没有,如果有 penguin 文件夹则无需再次建立)
      • 输入 mkdir /run/sshd/penguin 建立文件夹
      • 输入 touch /run/sshd/penguin/authorized_keys 创建文件
      • 输入 lxc start penguin 观察是否有新错误发生
      • 如果有新错误重复上述 touch 命令,将 authorized_keys 替换成新错误缺失的文件,直到不再发生错误为止
      • 19-3-11更新

        • 对于 error: Missing source '/run/tokens/penguin_token' for disk 'container_token'问题,以上方法无效,使用这个命令echo hello-world > /run/tokens/penguin_token之后即可解决
  • 输入 lxc list ,此时状态是 RUNNING 说明可以成功运行。
  • 输入 run_container.sh --container_name penguin --user [你的用户名] --shell 将其中的[你的用户名](不含中括号)替换成你创建的crostini的用户名(通常是你的谷歌账号)

之后可以在这个界面中正常运行GUI程序,原来的termina将不可使用,files应用中也不可以打开linux文件,暂未找到解决方案。此时可以考虑暂用使用单独的窗口打开命令行避免与浏览器热键冲突来实现与termina相同的效果。

19-3-11更新

不知道什么原因,每次重启之后很可能termina就不能直接使用了,但是使用一段时间(不关机,不使用的时候仅和上盖子)后就可以正常使用。

参考资料

本篇暂时作为个人的笔记使用,可读性可能较差

在前几个月的某次更新后,设置里出现了悄悄的出现了一个Linux(Beta)的选项,这允许你使用官方的Linux支持,并且使用一个完全与Chrome OS共生的系统,而不再是像crouton那样为了使用一个图形应用程序而安装一套完整的桌面环境。

  • 在设置中启用Linux,注意需要翻墙并且有可能无法通过使用本机的翻墙方式需要使用路由器做到完全翻墙(待考证,个人认为原因是Chrome OS的翻墙无法影响到共生的Linux),如果出现错误尝试直接点击重试而不是取消后删除进度重来。
  • 安装好之后的系统是Debian 9,支持图形应用,在应用中找到Terminals直接运行即可。
  • 在ctrl+alt+t中输入vmc list可以看到当前的vmc容器(个人理解,不清楚具体叫法),使用vmc start termina可以进入一个不同于shell的命令行。

使用lxc查看与子系统相关的命令,参照网络上的解释,似乎是Chrome OS嵌套VM嵌套子Liunx系统三重嵌套。

使用类似lxc launch images:ubuntu/xenial xenial的命令可以建立新的子系统,参照网络上的资料似乎以此方式新建的不支持图形化的程序,仅以默认方式建立的才支持(从Terminals中直接运行即可),不过影响并不大,即使是ubuntu也是基于debian的(大概)。支持的系统列表参照这里 https://us.images.linuxcontainers.org/

子系统除了提示给出的操作外可以通过如下方式运行

run_container.sh --container_name xenial --shell --user root

lxc exec xenial -- /bin/bash

参考资料:
https://www.reddit.com/r/Crostini/comments/8ayrnl/creating_other_lxc_containers/
http://linuxiumcomau.blogspot.com/2018/08/introduction-to-crostini-part-3-using.html
https://www.reddit.com/r/Crostini/comments/94oja4/making_ubuntu_the_default_container_in_crostini/
https://www.reddit.com/r/Crostini/comments/8ju1lx/terminal_suddenly_failing_to_start/
https://blog.google/products/chromebooks/linux-on-chromebooks/
https://www.reddit.com/r/Crostini/comments/9hhk0o/error_installimg_linux_on_pixelbook/

鉴于Crostini稳定性太差(我是崩过好几次),如果要稳定的开发环境建议使用crouton,或者随时备份同步自己的代码到云端。

(这个问题似乎可以改善,参照下一篇文章)
来自crouton官方的对比推荐:

Crostini is an official project within Chromium OS to bring the Linux shell and apps to the platform in verified mode with clean integration, multi-layered security, and all the polish you expect from Chromium OS proper.

That means compared to crouton, Crostini has official support, competent engineers, and code that looks a little less like ramen. crouton, in its defense, has wider device compatibility, enables direct hardware access, and is named after an objectively tastier bread-based food item.

There's a solid community on Reddit if you'd like to try Crostini out. If it works for you -- great! No hard feelings. If in the end you decide that crouton suits you better, read on!

Note: you can't get the best of both worlds by installing crouton inside of Crostini. The technology (and life itself) just doesn't work that way. Not to mention a crouton Crostini would look ridiculous and be impossible to eat without getting bits everywhere.

参考资料:Chrome 操作系统帮助

设置远程访问

Windows

  • 下载 Chrome 远程桌面应用。
  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标。
  • 在“我的计算机”下,点击开始使用。
  • 点击启用远程连接。
  • 输入相应 PIN 码,继而再次输入该 PIN 码,然后点击确定。
  • 点击是,以安装“Chrome 远程桌面”服务。
  • 确认 Google 帐号,然后再次输入相应 PIN 码以继续操作。

您启用了远程连接的计算机会显示在“我的计算机”下方。

Mac

  • 下载 Chrome 远程桌面应用。
  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标。
  • 在“我的计算机”下,点击开始使用。
  • 点击启用远程连接。然后按照屏幕上的说明操作。
  • Chrome 会下载一个 .dmg 文件。点击保存。
  • 该文件下载完毕后,将其打开。
  • 按照屏幕上的提示操作,完成安装。然后,返回 Chrome。
  • 要为您的计算机开启远程访问功能,请点击确定。
  • 输入相应 PIN 码,继而再次输入该 PIN 码,然后点击确定。
  • 系统显示相应对话框后,解锁面板并再次确认您的帐号和 PIN 码。
  • 系统会显示“此计算机的远程连接已启用”这一消息。请点击确定关闭该消息。

您启用了远程连接的计算机会显示在“我的计算机”下方。

Linux

第 1 步:下载并安装 Chrome 远程桌面

第 2 步:为主机组件安装 Debian 软件包

  • 点击此处即可下载 64 位 Debian 软件包。

第 3 步:创建虚拟桌面会话

  • 如果您使用的是 Ubuntu 12.04,请跳至第 4 步。

    1. /usr/share/xsessions/ 中查找用作首选桌面环境的 .desktop 文件。

      • 例如,Cinnamon 有一个名为“cinnamon.desktop”的文件,其中包含以下命令:gnome-session --session=cinnamon
    2. 在您的主目录中创建一个名为“.chrome-remote-desktop-session”的文件,其中包含以下内容:

      • exec /usr/sbin/lightdm-session "<YOUR_EXEC_COMMAND>"
    3. 用您 .desktop 文件末尾处的命令替换 <YOUR_EXEC_COMMAND>

      • 在 Cinnamon 示例中,正确的命令是:exec /usr/sbin/lightdm-session 'gnome-session --session=cinnamon'
      • 如果是 Unity 桌面,还需要使用一些额外的代码。完整的命令是:DESKTOP_SESSION=ubuntu XDG_CURRENT_DESKTOP=Unity XDG_RUNTIME_DIR=/run/user/$(id -u) exec /usr/sbin/lightdm-session 'gnome-session --session=ubuntu'
    4. 保存名为“.chrome-remote-desktop-session”的文件。

第 4 步:启用远程连接

  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标。
  • 在“我的计算机”下,点击开始使用。
  • 点击启用远程连接。
  • 输入相应 PIN 码,继而再次输入该 PIN 码,然后点击确定。
  • 关闭确认对话框。

Chromebook

  1. 下载 Chrome 远程桌面应用。
  2. 点击添加至 Chrome。
  3. 点击添加应用进行确认。
  4. 在屏幕一角,依次点击“启动器”图标 -> 向上箭头。
  5. 点击“Chrome 远程桌面”图标。

与其他人共用您的计算机

您可以允许他人访问您的计算机。他们将获得对您的应用、文件、电子邮件、文档和历史记录的完整访问权限。

  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标 “Chrome 远程桌面”应用。
  • 点击开始使用。
  • 要创建访问代码,请点击共享。
  • 将此代码发送给您想要让其使用您计算机的用户。
  • 对方输入此访问代码后,便会看到您的电子邮件地址并可完全控制您的计算机。
  • 要结束共享会话,请点击停止共享。

远程访问其他计算机

计算机

远程访问计算机

  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标 “Chrome 远程桌面”应用。
  • 选择您想要访问的对象。您可能需要先点击开始使用。
  • 如果您要访问自己的计算机,请点击此计算机。
  • 如果您要访问与您共享的其他计算机,请点击访问。
  • 输入登录所需的 PIN 码或访问代码。
  • 点击连接。
  • 出于安全考虑,所有远程桌面会话均会完全加密。

停止远程会话

  • 完成远程会话后,请转到页面中央,然后依次点击“向下箭头”图标 -> “断开连接”。

从列表中移除计算机

  • 在计算机上打开 Chrome。
  • 在屏幕顶部的地址栏中输入 chrome://apps,然后按 Enter 键。
  • 点击“Chrome 远程桌面”图标。
  • 在您要移除的计算机旁边,点击停用远程连接。

Android设备

远程访问计算机

  1. 在 Android 手机或平板电脑上,打开“Chrome 远程桌面”应用 。如果您尚未安装,请从 Google Play 中下载
  2. 从列表中点按您想要访问的计算机。如果某台计算机名称呈暗淡状态,则表示此计算机处于离线状态或无法访问。
  3. 您可以采用两种不同的模式来控制该计算机。只需点按工具栏中对应的图标即可在不同的模式之间切换。

    • 要想通过虚拟鼠标指针来执行操作,请点按“触控板模式”图标 触控板模式。
    • 要想通过点按来执行操作,请点按“触摸模式”图标 触摸模式。

出于安全考虑,所有远程桌面会话均会完全加密。

在远程访问计算机时使用手势

  • 向上或向下滚动:双指滑动。
  • 点击并拖动:用一根手指拖动。
  • 缩放:双指张合。
  • 显示键盘:三指向上滑动。
  • 显示工具栏应用:三指向下滑动。
  • 移动鼠标:在屏幕上的任意位置滑动(仅适用于触控板模式)。
  • 点击鼠标左键:点按屏幕。
  • 点击鼠标右键:双指点按屏幕(仅适用于触控板模式)。
  • 点击鼠标中键:三指点按屏幕(仅适用于触控板模式)。

从列表中移除计算机

  1. 在 Android 手机或平板电脑上,打开“Chrome 远程桌面”应用。
  2. 触摸并按住您想要移除的计算机的名称。
  3. 点按删除。
  4. 点按确定。

问题排查提示

如果遇到问题,请尝试按以下提示操作:

  • 如果无法打开网页,请检查设备的连接。
  • 如果所访问的计算机使用的是单位或学校的网络,则可能会不允许您让其他人访问。如需了解详情,请与您的管理员联系。
  • 确保您使用的是最新版本的“Chrome 远程桌面”应用。

iPhone 或 iPad

远程访问计算机

  1. 在 iPhone 或 iPad 上,打开“Chrome 远程桌面”应用。如果您尚未安装,请从 iTunes 中下载
  2. 从列表中点按您想要访问的计算机。如果某台计算机名称呈暗淡状态,则表示此计算机处于离线状态或无法访问。
  3. 您可以采用两种不同的模式来控制该计算机。只需点按工具栏中对应的图标即可在不同的模式之间切换。

    • 要想通过虚拟鼠标指针来执行操作,请点按“触控板模式”图标。
    • 要想通过点按来执行操作,请点按“触摸模式”图标。

出于安全考虑,所有远程桌面会话均会完全加密。

在远程访问计算机时使用手势

您可以在远程访问计算机时使用手势。

  • 向上或向下滚动:双指滑动。
  • 点击并拖动:用一根手指拖动。
  • 缩放:双指张合。
  • 显示键盘:三指向上滑动。
  • 显示工具栏应用:三指向下滑动。
  • 移动鼠标:在屏幕上的任意位置滑动(仅适用于触控板模式)。
  • 点击鼠标左键:点按屏幕。
  • 点击鼠标右键:双指点按屏幕(仅适用于触控板模式)。
  • 点击鼠标中键:三指点按屏幕(仅适用于触控板模式)。

从列表中移除计算机

如果您想修改计算机列表,请登录此列表中的任一台计算机,然后打开“Chrome 远程桌面”应用。

使用第三方应用程序

推荐使用 Teamviewer ,在Play StoreWeb Store 中均可下载。
提前在要控制的设备上部署即可实现远程访问。