LINUX.ORG.RU

Избранные сообщения gurza86

Работа с Firefox из tmpfs/Running a persistent Firefox profile from tmpfs

Форум — Desktop

Как известно, Firefox любит насиловать винт во время работы, особенно это касается файлов sessionstore.js, webappsstore.sqlite, places.sqlite и cookies.sqlite.

Я долго на это смотрел, скрипел зубами, не выдержал и написал скрипт, который выкидывает профиль в /tmpfs во время запуска, а потом синкает его обратно.

It's well known that Firefox likes thrashing your HDD when it works. This problem seriously affects these files: sessionstore.js, webappsstore.sqlite, places.sqlite and cookies.sqlite.

To solve this problem I've created a bash script which copies a Firefox profile to a temporary RAM based directory and then, when Firefox finishes, this script copies changed files back to a persistent directory.

Mode of action:

1) Edit: ~/.mozilla/firefox and add

[Profile1]
Name=firefox-tmpfs
IsRelative=1
Path=firefox-tmpfs

(if you already have more than one profile, Profile1 should become Profile2,3,4 etc.)

2) Create a directory ~/.mozilla/firefox/firefox-persistent
Within it:

mkdir ad
mkdir bk
mkdir ex
ln -s adblockplus $HOME/.mozilla/firefox/firefox-persistent/ad
ln -s extensions $HOME/.mozilla/firefox/firefox-persistent/ex
ln -s bookmarks $HOME/.mozilla/firefox/firefox-persistent/bk

3) Create a symbolic link from /tmp/firefox-tmpfs to ~/.mozilla/firefox/firefox-tmpfs

Create these two files:

$ cat > fxtmpfs.files
addons.sqlite
blocklist.xml
bookmarks.html
cert8.db
chromeappsstore.sqlite
compatibility.ini
content-prefs.sqlite
cookies.sqlite
downloads.sqlite
extensions.ini
extensions.sqlite
formhistory.sqlite
key3.db
lazarus-backup.sqlite
lazarus.sqlite
localstore.rdf
mimeTypes.rdf
permissions.sqlite
places.sqlite
pluginreg.dat
prefs.js
search.json
secmod.db
sessionstore.js
signons.sqlite
$ cat > fxtmpfs
#! /bin/bash

# v1.1

trap '' HUP

fxprofile=firefox-tmpfs
fxpersist=$HOME/.mozilla/firefox/firefox-persistent
dvolatile=/tmp/$fxprofile

die()
{
	xmessage -center "FATAL ERROR:
$@" &>/dev/null
	exit 1
}

copyback()
{
# $1 - old
# $2 - new
	fsize=`stat -c '%s' "$1"` || die "stat of $1 failed"

	md5old="X"
	if [ -f "$1" ]; then
		md5old=`md5sum "$1"` || die "md5sum of $1 failed"
	fi

	md5new="Y"
	if [ -f "$2" ]; then
		md5new=`md5sum "$2"` || die "md5sum of $2 failed"
	fi

	test -f "$2-journal" && die "WHAT THE FUCK IS GOING ON? YOU ARE STILL RUNNING FIREFOX!"

	if [ "$fsize" -gt 0 ]; then
		if [ "$md5new" != "$md5old" ]; then
			/bin/cp -a "$1" "$2" || die "cp from $1 to $2 failed!"
		fi
	fi
}

files="`dirname $0`/`basename $0`.files"
test -f $files || die "I cannot find $files"

if [ -d "$dvolatile" ]; then

	xmessage -center -timeout 5 "Temporary Firefox profile already exists." &>/dev/null &
else
	mkdir -p "$dvolatile" || die "mkdir of $dvolatile failed"
	# © Artem S. Tashkinov
	cp -a "$fxpersist"/* "$dvolatile" || die "cp of $fxpersist to $dvolatile failed"
fi

firefox -no-remote -P $fxprofile
xmessage -center -timeout 3 "Syncing Firefox profile in 3 seconds ..." &>/dev/null &
sync
sleep 3

for i in `cat "$files"`; do
	copyback "$dvolatile/$i" "$fxpersist/$i"
done

xmessage -center -timeout 5 "All done." &>/dev/null

chmod +x fxtmpfs

Run fxtmpfs.

 , ,

juk4windows
()

2 монитора через DisplayPort и VGA

Форум — Desktop

Доброго дня, лор!

Никогда не пользовался двумя мониторами, сейчас вот пытаюсь подключить на работе. В наличии пк Dell OptiPlex 5050, дискретная карточка AMD Radeon R5 430 и debian stable с kde 5. Видеокарту я «вычислил» по наличию видео портов и официальному сайту dell, в системе же это показывается так:

root@indvd00m-office:~# inxi -Fxz
System:    Host: indvd00m-office Kernel: 4.9.0-6-amd64 x86_64 (64 bit gcc: 6.3.0) Desktop: N/A
           Distro: Debian GNU/Linux 9 (stretch)
Machine:   Device: desktop System: Dell product: OptiPlex 5050
           Mobo: Dell model: 0WWJRX v: A00 UEFI [Legacy]: Dell v: 1.6.5 date: 09/09/2017
CPU:       Quad core Intel Core i7-7700 (-HT-MCP-) cache: 8192 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 28800
           clock speeds: max: 4200 MHz 1: 899 MHz 2: 3706 MHz 3: 3389 MHz 4: 899 MHz 5: 2802 MHz 6: 4034 MHz
           7: 3409 MHz 8: 3441 MHz
Graphics:  Card-1: Intel Device 5912 bus-ID: 00:02.0
           Card-2: Advanced Micro Devices [AMD/ATI] Oland [Radeon HD 8570 / R7 240/340 OEM] bus-ID: 01:00.0
           Display Server: X.org 1.19.2 drivers: ati,vesa (unloaded: modesetting,fbdev,radeon)
           tty size: 151x50 Advanced Data: N/A for root
Audio:     Card-1 Intel Device a2f0 driver: snd_hda_intel bus-ID: 00:1f.3 Sound: ALSA v: k4.9.0-6-amd64
           Card-2 Advanced Micro Devices [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
           driver: snd_hda_intel bus-ID: 01:00.1
Network:   Card: Intel Ethernet Connection (5) I219-V driver: e1000e v: 3.2.6-k bus-ID: 00:1f.6
           IF: enp0s31f6 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives:    HDD Total Size: 1000.2GB (4.6% used)
           ID-1: /dev/sda model: WDC_WD10EZEX size: 1000.2GB temp: 39C
Partition: ID-1: / size: 887G used: 15G (2%) fs: ext4 dev: /dev/sda2
           ID-2: swap-1 size: 32.00GB used: 0.00GB (0%) fs: swap dev: /dev/sda1
Sensors:   System Temperatures: cpu: 56.0C mobo: 27.8C
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 252 Uptime: 28 min Memory: 2809.7/15915.3MB Init: systemd runlevel: 5 Gcc sys: 6.3.0
           Client: Shell (bash 4.4.121) inxi: 2.3.5
Так вот, у видеокарты есть лишь два выхода - display port и vga. Подключил на них 2 монитора, до старта иксов на оба выводится одно и то же, в kde в настройках лишь один монитор. Если подключить мониторы на интегрированную intel, то машина вообще не запускается, лишь сообщение что мол если подключена дискретная карта то интегрированную использовать нельзя, похоже это dell'овская фича.

Как заставить работать оба монитора? Как вариант, можно, наверное, вытащить дискретку и подключить через интегрированную, но может можно и без этого? Я, честно говоря, даже понять не могу какой сейчас драйвер загружен, radeon, видимо, когда поставил систему был один монитор, все просто заработало и даже не разбирался, сейчас же подключил еще один точно такой же.

 , , , ,

orm-i-auga
()

Как сделать определенный микрофон по умолчанию и сделать unmute его же ?

Форум — Desktop

Через консоль

 

Xwo
()