본문 바로가기
리눅스

Firefox

by 다움위키 2023. 12. 19.

Mozilla Firefox 또는 간단히 FirefoxMozilla Foundation과 그 자회사, Mozilla Corporation에 의해 개발된 자유와 오픈-소스 웹 브라우저입니다. Firefox는 현재 및 예상되는 웹 표준을 구현하는 웹 페이지를 표시하기 위해 Gecko 렌더링 엔진을 사용합니다. 2017년에, Firefox는 병렬 처리와 보다 직관적인 사용자 인터페이스를 촉진하기 위해 코드 이름 Quantum 아래에서 새로운 기술을 통합하기 시작했습니다. Firefox는 Windows 7과 그 이후 버전, macOS리눅스에서 사용할 수 있습니다. 그것의 비공식 포트는 FreeBSD, OpenBSD, NetBSD, illumos, 및 Solaris Unix를 포함한 다양한 유닉스유닉스-계열 운영 시스템에서 사용할 수 있습니다. Firefox는 역시 안드로이드iOS에서 사용할 수 있습니다. 어쨌든, iOS 버전은 다른 모든 iOS 웹 브라우저와 마찬가지로 플랫폼 요구 사항으로 인해 Gecko 대신 WebKit 레이아웃 엔진을 사용합니다. 최적화된 버전의 Firefox는 역시 Amazon의 Silk Browser와 함께 사용할 수 있는 두 가지 주요 브라우저 중 하나, Amazon Fire TV에서 사용할 수 있습니다.

Firefox는 Mozilla Application Suite 번들보다는 독립 실행형 브라우저를 원하는 Mozilla 커뮤니티 구성원에 의해 코드 이름 "Phoenix" 아래에서 2002년에 만들어졌습니다. 베타 상태 동안, Firefox는 테스터들 사이에서 인기를 얻었고 당시 지배적인 마이크로소프트Internet Explorer 6와 비교하여 속도, 보안, 및 추가 기능으로 찬사를 받았습니다. Firefox는 2004년 11월 9일에 출시되었고, 9개월 만에 6천만 건의 다운로드를 달성하여 Internet Explorer의 지배력에 도전했습니다. Firefox는 Netscape Navigator정신적 계승자인데, 왜냐하면 모질라 커뮤니티가 AOL에 의해 Netscape가 인수되기 전 1998년에 Netscape에 의해 만들어졌기 때문입니다.

Firefox 사용 점유율은 2009년 11월에 최고 32.21%로 증가했으며, Firefox 3.5는 비록 Internet Explorer 전체는 아니지만 Internet Explorer 7을 추월했으며, 그 후 Google Chrome과 경쟁하면서 사용량이 감소했습니다. StatCounter에 따르면, 2021년 10월 기준으로, Firefox는 데스크톱 웹 브라우저로 7.87%의 사용 점유율을 가지고 있으며, Google Chrome (67.17%), Safari (9.63%), 및 Microsoft Edge (9.14%)에 이어 네 번째로 인기 있는 데스크톱 웹 브라우저이지만, 모든 플랫폼에서 사용 점유율은 3.66%로, Google Chrome (64.67%), Safari (19.06%), 및 Edge (3.99%)에 이어 4위입니다.

Installation

데비안은 최근 안정 버전을 제공하지 않고, esr 버전을 제공합니다:

  • sudo apt install firefox-esr

Install Nightly Edition and Developer and Beta

2023년 11월 30일 이후로 개발자 버전과 베타 버전을 deb 형식으로 모질라에서 직접 제공합니다. 아래의 과정으로 설치할 수 있습니다:

  • sudo install -d -m 0755 /etc/apt/keyrings
  • wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
  • gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}'
  • echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
  • sudo apt-get update && sudo apt-get install firefox-beta # Replace "beta" by "devedition" for Developer Edition or similarly "nightly"

Install latest stable version

데비안 안정 버전에서, 파이어폭스 최근 안정 버전을 배포하지 않음으로써, 여러 가지 설치 방법들이 논의되고 있습니다:

  • flatpak 아래에서 설치.
  • 스냅 아래에서 설치.
  • 시드 버전을 설치.
  • 우분투 20.04 버전을 설치.
  • 공식으로 배포되는 타르볼 설치.

아마도 flatpak, snap 버전은 입력기 문제가 항상 따라다니므로, 선호하지 않을 수 있습니다.

다음으로, 시드 버전을 설치하려면, libc6가 업데이트가 되는데, 어떤 영향을 미칠지 모르겠지만, 바람직해 보이지는 않습니다.

다음으로, 다른 배포판의 저장소를 이용하는 것도 바람직해 보이지는 않습니다.

이 중에서, 가장 안전할 것으로 기대되는 방법은 파이어폭스 홈페이지에서 제공하는 리눅스용 휴대용 타르볼을 이용하는 것입니다: 아래는 amd64 바이너리를 이용합니다.

[Desktop Entry]
Version=1.0
Type=Application
Name=FireFox-stable
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=/opt/firefox/firefox %u
Icon=firefox-trunk
Categories=GNOME;GTK;Network;WebBrowser;
Terminal=false
StartupNotify=false

이제 프로그램 검색창에서 Firefox-stable로 검색이 되고, Nordic 테마 설치도 되고, 시스템 입력기도 작동하고, 문제없이 작동하는 것으로 보입니다.

이렇게 설치한 후, 업그레이드는 해당 디렉토리를 지우고 새로운 타르볼을 해당 위치에 풂으로써 끝나며, 테마와 기타 사항은 유지됩니다.

새로운 휴대용 버전이 출시되면, 이전 버전을 확인해서 백업하고, 새로운 버전을 설치하는 스크립트입니다. 출처를 잊어버린 곳에서 다른 스크립트를 가져와서 수정한 것입니다:

#!/bin/sh
language="en-US" # e.g. "ko" or "ko-KR"
if [ ! "$1" ]; then

	version="101.0.1" 
	application="firefox" 
		
fi

if [ "$1" = "--help"  ] || [ "$1" = "-h"  ] ; then
	echo 'Usage: $0 [application] [version]'
	echo
	echo Usage:
	echo " for example"
	echo " $0 mozilla 91.10.0esr"
	echo ' -h --help 	display this help'
	exit 0
fi

if [ "$1" ] ; then
	application="$1"
fi

if [ "$2" ] ; then
	version="$2"
fi

echo result $0 $application $version

echo "This script downloads 
--
$application Version $version 
--
If you want to install another version press Ctrl+C and call this program with other options, for 
example: $0 $application 91.10.0esr"
echo

dir="/opt/firefox"
if [ -d "$dir" ]; then
	echo "the folder $dir already exists"
	echo "old version backup and new version install"
	read -p "Press space to continue... or press Ctrl+C to stop" key

	sudo mv $dir $dir.back
fi

file="$application-$version.tar.bz2"
if [ -f "$file" ]; then
	echo "$file already exists, "
else
	echo "$file downloading..."	
	url="http://download-origin.cdn.mozilla.net/pub/$application/releases/$version/linux-x86_64/$language/$file"
	wget $url -O $file
fi

echo "Extracting archive, please wait..."
sudo tar xfj $file -C /opt

#echo "Removing backup directory, please wait..."
#sudo rm -rf $dir.back

directory1="$HOME/.local/share/applications"
desktop="$HOME/.local/share/applications/firefox.desktop"
if [ -d "$directory1" ]; then
	if [ -f "$desktop" ]; then
        echo "the file $desktop already exists, exiting"
        exit 0
	else
		desktop1="firefox.desktop"
		echo '[Desktop Entry]' > "$desktop1"
		echo 'Name=Firefox-stable' >> "$desktop1"
		echo 'Exec=/opt/firefox/firefox %u' >> "$desktop1"
		echo 'Terminal=false' >> "$desktop1"
		echo 'X-MultipleArgs=false' >> "$desktop1"
		echo 'Type=Application' >> "$desktop1"
		echo 'Icon=firefox-trunk' >> "$desktop1"
		echo 'Categories=Network;WebBrowser;' >> "$desktop1"
		echo 'MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;' >> "$desktop1"
		echo 'StartupWMClass=Firefox' >> "$desktop1"
		echo 'StartupNotify=true' >> "$desktop1"

		mv $desktop1 $directory1
	fi
else
	echo 'make directory...'
	mkdir -p $directory1

	desktop1="firefox.desktop"
	echo 'Name=Firefox-stable' >> "$desktop1"
	echo 'Exec=/opt/firefox/firefox %u' >> "$desktop1"
	echo 'Terminal=false' >> "$desktop1"
	echo 'X-MultipleArgs=false' >> "$desktop1"
	echo 'Type=Application' >> "$desktop1"
	echo 'Icon=firefox-trunk' >> "$desktop1"
	echo 'Categories=Network;WebBrowser;' >> "$desktop1"
	echo 'MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;' >> "$desktop1"
	echo 'StartupWMClass=Firefox' >> "$desktop1"
	echo 'StartupNotify=true' >> "$desktop1"

	mv $desktop1 $directory1
fi

Firefox Release Calendar

파이어폭스는 대체로 28일마다 1씩 버전이 올라갑니다. 모질라 재단의 해당 위키 페이지에는 그놈 달력에 추가할 수 있는 ics파일을 제공합니다.

Ubuntu 22.04 이후의 deb 패키지

우분투 22.04에서 스냅 아래로 firefox 패키지를 이동함으로써 많은 논란이 있습니다. 어쨌든, 우분투 배포판에서 포기한 패키징을 모질라팀에서 대신 PPA를 통해 deb 패키지를 제공합니다:

  • sudo snap remove firefox
  • sudo add-apt-repository ppa:mozillateam/ppa
  • sudo nano /etc/apt/preferences.d/mozillateamppa
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
  • sudo apt update
  • sudo apt install firefox

Configuration

파이어폭스를 실행해서 주소창에 about:config를 입력하면, 현재 설정을 볼 수 있습니다. 그러나, 이 값을 잘못 수정할 경우에는, 파이어폭스에 지대한 악영향을 줄 수 있습니다.

Nordic theme

이 과정은 GNOME/Themes#Nordic port 테마 설치 후의 후속 과정입니다. 그렇지 않으면, 제대로 동작하지 않습니다.

여기에서 정보를 찾을 수 있습니다. 자동 설치가 잘 되지 않기 때문에, 수동 설치가 권장됩니다.

  • 파이어폭스 주소창에 입력합니다: about:support
  • Application Basics->Profile Directory->Open Directory를 누릅니다.
  • 터미널을 열어서 해당 디렉토리로 이동합니다
  • mkdir chrome
  • cd chrome
  • git clone https://github.com/EliverLara/firefox-nordic-theme.git
  • [[ -s userChrome.css ]] || echo >> userChrome.css
  • sed -i '1s/^/@import "firefox-nordic-theme\/userChrome.css";\n/' userChrome.css
  • ln -s chrome/firefox-nordic-theme/configuration/user.js ../user.js
  • 파이어폭스 재시작

설치 후에 일부 문제가 발생할 수 있으며, 알려진 경우가 있는지 이슈 게시판을 참조하십시오.

설치 후에, 오른쪽 위 버튼들이 제대로 표시되지 않을 수 있습니다. 이때, 주소창에 about:addons를 입력하고 새로운 창에서 system theme을 활성화함으로써 해결됩니다.

Sound off

멀티탭을 닫을 때 경고음이 생깁니다. 영화 등을 보다 보면 소리가 생각보다 커서 깜짝 놀라는 경우가 생깁니다. 아직 파이어폭스에서 어떤 설정을 바꾸어야 하는지 확인이 되지 않았습니다. 대신에 시스템에서 경고음을 없앨 수 있습니다.

System Settings -> Sound에서 경고음 mute해 버립니다.

Experimental builds and ESR

공식 출시 외에도, 모질라는 배포 채널에서, 덜 안정적인 순서로, "Beta", "Developer Edition" (이전에 "Aurora", 2014년 11월 10일에 이름을 바꿈), 및 "Nightly"으로 이름 지은 파이어폭스의 개발 빌드를 제공합니다. 파이어폭스 54부터 시작하여, " Developer Edition"은 "Beta"를 기반으로 합니다.

Firefox ESR (Extended Support Release)는 대규모 배포를 위한 확장 지원을 필요로 하는 조직과 기타 그룹을 위한 파이어폭스 버전입니다. 동시에 출시된 정규 버전을 기반으로 각 ESR 출시는 1년 동안 지원됩니다. 정규 ("빠른") 출시와 달리, ESR은 4주마다 새로운 기능과 성능 향상으로 업데이트되지 않고, 위험 감소 또는 영향이 큰 보안 수정 또는 포인트 출시(point releases)를 갖는, ESR 주기의 끝까지, 주요 안정성 수정으로만 업데이트됩니다.

Troubleshooting

한글 화면 표시

버전 117.0에서 한글 표시가 상대적으로 가늘어진 것으로 보입니다. 파이어폭스의 가장 큰 장점 중 하나는 한글과 영문 표현이 섞여 있을 때, 보기에 가장 편하다는 것이었지만, 이제 더 이상 그런 주장을 할 수 없을지 모릅니다. 다행스럽게도 118.0.2 버전에서 해결되었습니다!!

file download

데비안 사이트에서 파일을 다운로드하려고 시도하면, 다음 메시지가 나옵니다:

  • File not downloaded: Potential security risk.

문제는 안전한 사이트임에도 불구하고 http 프로토콜로 인해 발생하기 때문에, 이것을 없앨 필요가 있습니다:

  • about:config
  • dom.block_download_insecure를 false로 바꿉니다.

다른 방법으로, 항상 HTTPS를 이용하도록 설정을 변경할 수 있습니다.

  • Settings->Privacy & Security->HTTPS-Only Mode를 Enable HTTPS-Only Mode in all windows.

위 설정으로도 동작하지 않으면, Exception에 원하는 사이트를 등록해서 처리할 수 있습니다.

file association

확장자에 따른 연결 프로그램은 Settings->General->Applications에 설정되어 있습니다. 특정 파일 확장자를 새롭게 등록하고 싶을 때에는 파이어폭스 다운로드 창에서 마우스 오른쪽 단추를 눌러서 Always Open Similar Files를 선택합니다. 그런-다음 설정에서 확인해 보면, 해당 확장자에 대한 연결 프로그램이 등록되어 있습니다.

Disable proton

새로운 테마가 좋을 때도 있지만, 다른 프로그램들과 다르게 보이는 것이 내키지 않을 수 있습니다. 이 정보에 땨라 Proton을 사용하지 않을 수 있습니다.

  • about:config로 접근해서 browser.uidensity를 1로 바꿉니다.
  • about:config로 접근해서 아래의 설정을 전부 disalbe로 바꿉니다. browser.proton.contextmenus.enabled browser.proton.doorhangers.enabled browser.proton.enabled browser.proton.modals.enabled

Remove toggle reader view

주소창 옆에 있는 toggle reader view를 눌려지면, 시스템 사운드에 잡음이 섞여서 나오는 문제가 있습니다. 이것을 차단하기 위해, 버튼을 제거할 필요가 있습니다.

  • 주소창에 about:config를 입력합니다
  • 경고창에서 엔터를 칩니다
  • reader.parse-on-load.enabled로 검색을 합니다
  • true 옆의 버튼을 눌러서 false로 바꿉니다
  • firefox를 재시작합니다

Disable hardware acceleration

웹 그래픽 가속은 한글 표현에 문제가 발생하기도 합니다. 예를 들어, 특정 사이트를 방문했을 때, 이전과 다르게 글꼴 표현이 이상하면, 그래픽 가속을 끄고 재시작해서 확인할 수 있습니다.

  • Preferences -> General

Performance에서 Use recommended performance settings를 끄고 아래에 나타나는 Use hardware acceleration when available를 끕니다. firefox를 재시작합니다.

그렇지만, 최근 개발자 버전에서 미디어위키 특정 폼을 잘못 표현하는 문제가 발생하는데, 이 기능을 사용하지 않음으로써 발생합니다.

Disable WebGL

만약 위의 설정으로도 문제가 발생하면, WebGL 가속도 끌 수 있습니다.

주소창에 about:config를 입력하고 webgl.disabled를 찾아서 true로 토글시킵니다.

External resources