Saya telah menginstal vanilla TeX Live 2011 dan saya kesulitan mengatur jalur TeX Live untuk root (di Ubuntu 11.10).
Masalahnya adalah ketika saya menjalankan sudo tlmgr
saya mendapatkan:
sudo: tlmgr: command not found
Untuk memperbaiki jalur untuk non-root, itu sudah cukup untuk ditambahkan
PATH=/usr/local/texlive/2011/bin/x86_64-linux:$PATH
untuk /etc/profile
.
Saya telah mencoba menambahkan baris yang sama /root/.bashrc
dan saya juga mencoba menambahkannya /etc/profile.d/zzz-texlive.sh
seperti yang disarankan Herbert di /tex/26624/tlmgr-inaccessible/26626#26626 tetapi tidak membantu.
Jawaban:
Perbaikan cepat: karena Anda sudah memiliki
$PATH
set yang benar di lingkungan Anda (melalui/etc/profile
modifikasi) Anda dapat menggunakan:Pada dasarnya, sudo menyetel ulang nilai
$PATH
(seluruh lingkungan, tentu saja) ke yang "dikenal baik", dan karenanya mengabaikan segala perubahan yang Anda lakukan pada lingkungan lokal Anda. The env Perintah di atas menetapkanPATH
variabel dalam lingkungan yangtlmgr
dijalankan, sehingga berjalan dengan nilai$PATH
yang Anda tentukan pada baris perintah.Untuk menghindari mengetik semua itu untuk setiap perintah TeXlive, Anda dapat menentukan alias di shell Anda: tambahkan baris berikut ke
.bashrc
file di rumah Anda:dan kemudian Anda cukup mengeluarkan ini di prompt perintah:
Selain itu, sudo tidak menjalankan shell login untuk menjalankan perintah, itulah sebabnya trik "profil.d" Anda tidak berhasil untuk root. Anda bisa memaksa sudo untuk mengeksekusi perintah di shell, yang merupakan cara alternatif untuk mencapai efek yang sama:
Sekali lagi Anda dapat mendefinisikan alias perintah shell untuk mempersingkat ini:
yang dapat digunakan sebagai:
sumber
$PATH
di lingkungan saya? Juga, jadi saya harus melakukanenv
untuk setiap perintah di jalur TeX Live yang ingin saya aktifkansudo
? Ada cukup banyak binari di / usr / local / texlive / 2011 / bin / x86_64-linux yang mungkin ingin Anda jalankan sebagai root.Jika Anda menambahkan symlink maka Anda tidak perlu membuat skrip. Anda dapat melakukan ini dengan dua cara:
Menggunakan GUI:
sudo env PATH="$PATH" tlmgr --gui
.Menggunakan baris perintah (belum diuji, karena saya menggunakan GUI):
sudo env PATH="$PATH" tlmgr path add
. (temukan informasi lebih lanjut di dokumentasi tlmgr )sumber
Apa yang berhasil untuk saya: Saya mulai
tlmgr
dalam mode gui dengandan kemudian di menu ketiga pilih item terakhir tetapi satu (di menu Jerman saya, yaitu menu "Aktionen" (tindakan?) dan item "Verwaltung der symbolischen Links" (administrasi tautan simbolik?). Di jendela dialog berikutnya saya klik tombol "Symbolische Links erneuern" (perpanjang tautan simbolik?). Sekarang
bekerja tanpa masalah. Saya yakin ada juga cara baris perintah untuk melakukan ini;)
sumber
Untuk meneruskan pengguna
$PATH
ke file yangsudo
saya modifikasi/etc/sudoers
menggunakanvisudo
perintah dan tambahkan baris berikut:Sekarang saya bisa menjalankan (mis.)
atau
dan semuanya bekerja dengan sempurna.
Saya akan sangat menghargai komentar tentang pendekatan ini.
sumber
Anda benar-benar tidak perlu menambahkan direktori
tlmgr
ke jalan. Solusi cepat sederhana digunakanwhich
, misalnya:sumber
Ini bukan praktik yang baik untuk menginstal dan mengelola TeX Live menggunakan hak "root". Sebagai gantinya, buat
/usr/local/texlive
direktori, misalnya, menggunakan sudo, dan kemudian ubah kepemilikan kepada pengguna yang akan mengelola TeX Live. Setelah itu, TeX Live dapat diinstal dan diperbarui tanpa menggunakan hak istimewa "root".sumber