WSL2安装和配置浏览器

上一级:index-wsl

前言

WSL2更新过后,现在已经有浏览器为wslview,它调用Windows端的默认浏览器。

wslview

WSL2更新过后,现在已经有浏览器为wslview,它调用Windows端的默认浏览器。如何设置默认使用它,见wsl2设置默认浏览器小节。

使用

要使用,输入以下命令

1
wslview 完整的HTTP或HTTPS协议的URL

例如

1
wslview https://serverfault.com/

添加默认浏览器的候选

优先级设为30,优先级值越大,优先级越高

1
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/wslview 30
1
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/wslview 30
1
sudo update-alternatives --install /usr/bin/www-browser www-browser /usr/bin/wslview 30

在wsl2下使用Windows的浏览器

下面以Edge Chromium为例

首先在/usr/bin下创建链接到浏览器程序的软链接,命令如下:

1
sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe /usr/bin/msedge  

\)表示转义

\<space>表示转义空格

使用win下的浏览器

启动命令是

1
msedge

添加默认浏览器的候选

优先级设为30,优先级值越大,优先级越高

1
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/msedge 30
1
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/msedge 30
1
sudo update-alternatives --install /usr/bin/www-browser www-browser /usr/bin/msedge 30

linux 安装使用火狐浏览器

apt安装

1
sudo apt install firefox firefox-locale-zh-hans

使用firefox

1
firefox

Firefox 优化浏览器默认显示字体

  1. 在 Firefox 菜单的 Edit 中打开 Preferences 设置界面
  2. 然后在 Content 选项卡中点击 Advanced 按钮打开 Fonts 高级设置
  3. 在弹出的窗口中,将 Fonts for 修改为 Simplified Chinese
  4. 点击 OK 按钮完成设置。

linux 安装使用谷歌浏览器

添加仓库并apt安装

  1. Add Key:
1
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  1. Set repository:
1
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
  1. Install package:
1
2
sudo apt-get update 
sudo apt-get install google-chrome-stable

手动安装

下载 deb 包,下载链接如下

1
https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
1
cd ~/mysource/
1
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

安装 deb 包

1
2
sudo apt install fonts-liberation
sudo dpkg -i google-chrome-stable_current_amd64.deb

安装会报错,此时解决依赖关系

1
sudo apt -f install

重新安装

1
sudo dpkg -i google-chrome-stable_current_amd64.deb

使用chrome

启动命令

1
google-chrome

root 用户启动谷歌浏览器

1
/usr/bin/google-chrome-stable %U --no-sandbox

%U- 网址列表。每个 URL 都作为单独的参数传递给可执行程序。本地文件可以作为文件:URL 或文件路径传递。见执行密钥 (specifications.freedesktop.org)

--no-sandbox 表示以无沙盒模式运行(sandbox)。Chrome 浏览器默认使用沙盒(sandbox)。见无沙盒|无沙盒 (no-sandbox.io)

Chrome 优化浏览器默认显示字体

  1. 在 Chrome 菜单的 Edit 中打开 Preferences 设置界面
  2. 然后在 Settings 选项卡中将页面拖至最下方点击 Show advanced settings… 展开高级设置
  3. 在展开后的内容中找到 Web content 部分,点击 Customize fonts… 按钮打开字体和编码设置
  4. 将 Standard font 修改为 Sans
  5. 将 Serif font 修改为 Serif
  6. 将 Sans-serif font 修改为 Sans
  7. 确保 Fixed-width font 选择为 Monospace
  8. 点击 Done 按钮完成设置。

linux 安装使用微软edge浏览器

apt 安装

add key

1
2
3
4
wget -q 
https://packages.microsoft.com/keys/microsoft.asc -O- | sudo gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo rm microsoft.gpg

set repository 添加PPA源

1
2
3

echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" | sudo tee /etc/apt/sources.list.d/microsoft-edge-stable.list

update apt source

1
sudo apt update

stable渠道,稳定版

1
sudo apt install microsoft-edge-stable

使用edge

若要启动,请输入:

1
microsoft-edge

Linux版Microsoft Edge显示正在设置同步但不能同步的解决

linux版microsoft-edge显示正在设置同步但不能同步的解决

默认浏览器设置

详细的浏览器调用顺序可以查看

1
sudoedit $(which sensible-browser)

Pasted%20image%2020220627212919.png

gnome-www-browser

如果应用程序调用GNOME时,则默认使用gnome-www-browser的设置,

1
sudo update-alternatives --config gnome-www-browser

x-www-browser

否则,如果使用x-server,则使用x-www-browser

1
sudo update-alternatives --config x-www-browser

www-browser

否则,使用www-browser,它指定一个命令行浏览器,

1
sudo update-alternatives --config www-browser

某些应用设置默认浏览器

在某些应用(例如HipChat)。我必须这样做:

1
xdg-settings set default-web-browser chromium-browser.desktop

这里的chromium-browser.desktop/usr/share/applications下保存的快捷方式

1
cd /usr/share/applications

这里以微软edge浏览器(linux原生版本)为例

1
sudo vim msedge.desktop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[Desktop Entry]
Version=1.0
Name=Microsoft Edge
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Web Browser
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器

# Gnome and KDE 3 uses Comment.
Comment=Access the Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=/usr/bin/microsoft-edge-stable %U
StartupNotify=true
Terminal=false
Icon=microsoft-edge
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;
Actions=new-window;new-private-window;

[Desktop Action new-window]
Name=New Window
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=/usr/bin/microsoft-edge-stable

[Desktop Action new-private-window]
Name=New InPrivate Window
Name[zh_CN]=新建 InPrivate 窗口
Name[zh_TW]=新 InPrivate 視窗
Exec=/usr/bin/microsoft-edge-stable --inprivate

此外,部分应用还会直接指定一个浏览器,这时候可以设置$BROWSER覆盖它

1
export BROWSER=/usr/bin/firefox

检查默认浏览器

您可以检查它们与命令关联的浏览器

1
2
3
4
update-alternatives --display gnome-www-browser
update-alternatives --display x-www-browser
update-alternatives --display www-browser

删除默认浏览器的备选

以wslview为例

1
sudo update-alternatives --remove gnome-www-browser /usr/bin/wslview
1
sudo update-alternatives --remove x-www-browser /usr/bin/wslview
1
sudo update-alternatives --remove www-browser /usr/bin/wslview

浏览器运行报错处理

鉴于里面的坑太多了,我单独开一篇文章做一下汇总

linux-google-chrome-and-chrome-driver-fix-it

在Ubuntu下开启Chrome的WebGL功能(开启GPU加速)

在ubuntu下开启chrome的webgl功能-开启gpu加速

google chrome driver 安装配置

对于开发人员,可能需要chrome driver来完成模拟浏览器的开发操作

google-chrome-driver

参考、引用、致谢

在Ubuntu下开启Chrome的WebGL功能(开启GPU加速) - CodeAntenna

(24条消息) Passthrough is not supported, GL is swiftshader_YawQinse的博客-CSDN博客_gl is swiftshader

Python Selenium Chromedriver 报错(Passthrough is not supported, GL is disabled)解决方法-CJavaPy

https://reddit.com/r/chrome/comments/n6qywt/hardware_acceleration_fail_in_chrome_on_linux/

https://developers.google.com/web/updates/2017/04/headless-chrome

https://bugs.chromium.org/p/chromium/issues/detail?id=737678

https://groups.google.com/a/chromium.org/g/telemetry/c/bEgV1EH63eA

https://bugs.chromium.org/p/chromium/issues/detail?id=617551