Bagaimana cara mencegah .xsession-kesalahan dari memakan ruang disk?

12

Apakah ada cara untuk sepenuhnya menonaktifkan file .xsession-errors? Saya memilikinya sebagai symlink ke / tmp sehingga hard disk laptop saya dapat (mudah-mudahan) pergi tidur sekali, tetapi setidaknya 95% dari barang-barang dalam file (itu mengisi sekitar 500k per jam) adalah ...

(nautilus: 1618): GLib-GObject-CRITICAL **: g_value_get_object: pernyataan `G_VALUE_HOLDS_OBJECT (nilai) 'gagal

yang merupakan total sampah bagi saya. Saya telah mencoba melakukan symlink ke / dev / null tetapi itu tidak berhasil (tautan yang dihasilkan ditimpa), dan saya juga tidak ingin aktivitasnya sehingga mudah-mudahan laptop saya bisa tidur sekali saja.

Saya menggunakan Ubuntu 11.04, tanpa tambahan khusus untuk Nautilus.

bjem
sumber
Trik itu tidak berfungsi untuk saya, karena saat startup /etc/X11/Xsessiontidak memeriksa apa yang ditunjukkan tautan simbolik. Bagi saya itu membuat .xsession-errorsfile biasa baru , dan telah .xsession-errors.oldditautkan ke /dev/null. Bukan itu yang saya inginkan. Saya ingin .xsession-errorsdialihkan ke /dev/null- permanten kecuali saya secara eksplisit mengubahnya sendiri.
bjem
Hanya untuk memperjelas @ j-johan-edwards. Saya menguji perintah Anda dan itu berfungsi dengan baik, saya hanya ingin itu permanen.
bjem
Apakah 11.04 menggunakan GDM atau LightDM sebagai pengelola tampilan?
Detly
Saya pikir saya adalah GDM, jika itu default. Saya belum mengubahnya kecuali untuk menjauh dari desktop Unity.
bjem
Ya, saya adalah GDM. Rupanya path ke .xsession-errorskode keras (?!) ke dalam kode sumbernya. Apakah ada cara yang baik untuk menjalankan script setelah GDM beban untuk mengarahkan .xsession-errorske /dev/null?
bjem

Jawaban:

10

Saya menemukan solusi sementara.

Aku meletakkan script kecil di /etc/X11/Xsession.ddisebut 91redirect-xsession-errorsyang melakukan pekerjaan untuk saat ini, tetapi jika Anda ingin memiliki symlink kustom Anda sendiri untuk .xession-errorsitu tidak bekerja untuk itu (saya mencoba dan itu tidak keluaran data).

#! / bin / sh

# Redirect $ HOME / .xsession-errors ke / dev / null.
# BJEM 11 Januari 2012

XSESSION_ERRFILE = $ HOME / .xsession-errors

# Ini sepertinya tidak berfungsi untuk file biasa,
# yaitu jika Anda ingin menghubungkan $ HOME / .xsession-errors
# ke file lain. Saya tidak tahu kenapa.
XSESSION_ERRFILE_FINAL = / dev / null

# Membuat file target jika tidak ada.
sentuh "$ XSESSION_ERRFILE_FINAL"

# Tautkan .xsession-errors ke target yang diinginkan
Tidak peduli apa.
Di -sf "$ XSESSION_ERRFILE_FINAL" "$ XSESSION_ERRFILE"

# Kasus cobaan.
#gedit &

##### AKHIR FILE #####

Agak 'kasar dan siap' tetapi itu berhasil bagi saya. Perhatikan bahwa ini adalah satu - satunya file yang telah diubah.

bjem
sumber
Sayangnya saya tidak memperhatikan jawaban @earlonrails. / etc / X11 / Xsession akan membuat file di / tmp jika itu adalah tautan simbolik sehingga metode ini tidak berguna.
int_ua
4

Ada file bernama / etc / X11 / Xsession. Yang akan membuat symlink ke file tmp. YAITU. Mulai pada nomor baris 61

ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

Anda dapat cp file Xsession ini ke Xsession.bak. Lalu pergilah dan arahkan ERRFILE Anda ke / dev / null IE. Baris 83

exec >> /dev/null 2>&1
earlonrails
sumber
Terima kasih! Saya berharap saya memperhatikan jawaban ini sebelumnya. Saya akan memberi Anda 200 reputasi. Saya telah membuat tambalan yang memeriksa variabel environment $NOXSESSIONERRORS paste.ubuntu.com/p/TFxZ344k2p dengan cara ini kami berharap dapat membuatnya menjadi upstream.
int_ua
1
Terima kasih banyak! Ini adalah masalah besar bagi saya bertahun-tahun yang lalu ketika saya bekerja di sebuah perusahaan yang membuat kios. Kami akan menjalankannya dari kartu flash kompak, biasanya digunakan untuk kamera. Kartu-kartu ini hanya akan memiliki sejumlah penulisan untuk mereka sebelum mereka gagal menulis ke kartu. Oleh karena itu menghapus file berkali-kali, seperti yang disarankan beberapa orang lain, hanya membuat masalahnya semakin buruk.
earlonrails
Ada pertanyaan rangkap dengan jawaban saya di sini juga askubuntu.com/questions/177058/…
earlonrails
Saya telah membuat permintaan penggabungan ke hal terdekat yang dapat saya temukan di hulu : salsa.debian.org/xorg-team/xorg/merge_requests/7 Tolong tambahkan kisah Anda tentang kios di sana.
int_ua
0

Saya menghadapi masalah yang sama di redhat linux 6.4 server tetapi saya dapat menemukan folder atau pengguna mana yang mengambil lebih banyak ruang dengan menggunakan perintah ini "find / -xdev -type f -ukuran + 100000000c -exec ls -lh {} \;" kemudian saya menghapus secara manual x kesalahan sesi dengan menggunakan perintah rm -rf

pengguna320929
sumber
1
Jawaban ini tidak mengatakan BAGAIMANA untuk menghentikan kesalahan. Itu hanya mengatakan bagaimana menghapusnya. Harap perbarui jawaban Anda.
Kaz Wolfe
0

Harap dicatat bahwa menghapus file .xsession-errors tidak membebaskan ruang hingga sistem restart jika proses masih menulis ke file. Gunakan gema untuk menimpa konten file untuk mengatur file ke satu karakter. Hingga proses penulisan hingga .xsession-errors berhenti, file akan segera tumbuh lagi. Saya, saya harus menghentikan Remmina kemudian memotong file dan saya kembali berjalan. Catatan juga membantu jika Anda mengatur ukuran batas file Anda menjadi beberapa pertunjukan sehingga file .xsession-errors Anda tidak dapat mengarsipkan drive dan merusak sistem Anda. Masih mencari jawaban untuk masalah virus bawaan ini untuk semua sistem operasi Linux. Kedengarannya seperti pengembang Microsoft telah berkontribusi ke Linux ... ;-)

dneill
sumber
>.xsession-errors, :>.xsession-errors adalah cara lain yang baik untuk menghapus file.
earlonrails